【问题标题】:How do I set a Java library's custom event listener in Kotlin?如何在 Kotlin 中设置 Java 库的自定义事件监听器?
【发布时间】:2022-01-22 23:11:33
【问题描述】:

我一直在使用 Kotlin 开发一个 Android 项目,并希望使用这个 UI 库。但是,它是用 Java 编写的(文档也是如此),我不确定如何实现按钮的事件侦听器。这就是它应该在 Java 中完成的方式:

final CircleMenuView menu = (CircleMenuView) findViewById(R.id.circle_menu);
menu.setEventListener(new CircleMenuView.EventListener() {
    @Override
    public void onMenuOpenAnimationStart(@NonNull CircleMenuView view) {
        Log.d("D", "onMenuOpenAnimationStart");
    }
}

有谁知道我如何在 Kotlin 中做同样的事情?谢谢

【问题讨论】:

    标签: java android kotlin


    【解决方案1】:

    您可以将代码粘贴到 Android Studio 中,它会建议您将其转换为 Kotlin 代码

    在 Kotlin 中同样的代码会是这样的

    val menu = findViewById<CircleMenuView>(R.id.circle_menu)
    menu.setEventListener(object : CircleMenuView.EventListener {
        override fun onMenuOpenAnimationStart(view : CircleMenuView) {
            Log.d("D", "onMenuOpenAnimationStart");
        }
    })
    

    【讨论】:

    • 哇哦,非常感谢!我的 Android Studio 没有提出任何建议(不知道为什么),但这很有意义:D
    • 不客气,兄弟,也许您需要更新 IDE 或检查设置
    【解决方案2】:

    你也可以试试这样的

        val menu = findViewById<CircleMenuView>(R.id.circle_menu)
        menu.setEventListener{view->
           //Listener code goes here
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-18
      • 1970-01-01
      • 2017-03-20
      • 1970-01-01
      相关资源
      最近更新 更多