Appel de la méthode de Kotlin classe

J'ai un util Kotlin classe où j'ai mis de la barre d'outils de titre, masquer ou afficher la barre d'outils dépend du fragment:

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
    }
}

comment appeler showToolbar(...) à partir de Fragment?
J'ai juste essayé de MyToolbarUtils.showToolbar(..) mais il peut ne pas être possible

seule façon que j'ai trouver est:

val setToolbarTitle = MyToolbarUtils()
setToolbarTitle.showToolbar(activity, tag)

mais il doit y avoir une meilleure façon de le faire..

Ne Kotlin ont des méthodes statiques? Si non, ce que vous avez fait preuve d'un sens
Si l'ensemble de ces ne fonctionnent qu'avec une classe, MainActivity pourquoi sont-ils tout simplement pas les méthodes de cette classe?
Vous avez demandé un xy question ... vous avez décidé sur une réponse à un problème de programmation et ensuite, demande de l'aide à l'aide de pré-décidé de répondre. Mais dans ce cas, votre réponse n'est pas correcte du tout. Idiomatiques Kotlin ne serait pas l'utilisation de la statique ou de l'objet de déclarations dans un cas comme cela, mais au lieu d'utiliser stackoverflow.com/a/39499145/3679676

OriginalL'auteur Stepan | 2016-09-14