【发布时间】:2017-01-22 05:27:12
【问题描述】:
我有一个 util Kotlin 类,我在其中设置工具栏标题、隐藏或显示工具栏取决于片段:
class MyToolbarUtils() {
fun hideToolbar(activity: Activity) {
(activity as MainActivity).supportActionBar!!.hide()
}
fun showToolbar(activity: Activity, tag: String) {
setToolbarTitle(tag, activity)
(activity as MainActivity).supportActionBar!!.show()
}
fun setToolbarTitle(tag: String, activity: Activity) {
var title = ""
when (tag) {
"Main_fragment" -> title = activity.resources.getString(R.string.Main_screen)
"Add_note" -> title = activity.resources.getString(R.string.Add_note)
}
activity.title = title
}
}
如何从 Fragment 调用 showToolbar(...)?
我刚试过MyToolbarUtils.showToolbar(..),但不可能
我发现只有一种方法是:
val setToolbarTitle = MyToolbarUtils()
setToolbarTitle.showToolbar(activity, tag)
但必须有更好的方法来做到这一点..
【问题讨论】:
-
Kotlin 有静态方法吗?如果不是,那么您所展示的内容是有道理的
-
如果所有这些都只适用于一个类,
MainActivity为什么它们就不是那个类的方法? -
您询问了xy question ...您决定了一个编程问题的答案,然后使用该预先决定的答案寻求帮助。但在这种情况下,您的答案根本不是正确的。在这种情况下,惯用的 Kotlin 不会使用静态或对象声明,而是使用 stackoverflow.com/a/39499145/3679676
标签: android fragment toolbar kotlin