kotlin название панели действий для Android - PullRequest
0 голосов
/ 13 июня 2018

Приведенные ниже функции в MainActivity, имя приложения - Qpon.Приложение работает хорошо, проблема связана только с заголовком панели действий на первой странице.Предполагается, что в заголовке панели отображается «fff», но при запуске приложения отображается имя приложения «Qpon».Но он отображается правильно, когда я перехожу к другому фрагменту и возвращаюсь к первому фрагменту.

private val mOnNavigationItemSelectedListener = BottomNavigationView.OnNavigationItemSelectedListener { item ->
        when (item.itemId) {
            R.id.navigation_qpon -> {
                //message.setText(R.string.title_qpon)
                actionBarIcon(R.drawable.ic_title_black)
                createQponFragment()

                return@OnNavigationItemSelectedListener true
            }
            R.id.navigation_me-> {
                //message.setText(R.string.title_me)
                actionBarIcon(R.drawable.logged)
                createMeFragment()
                return@OnNavigationItemSelectedListener true
            }
            R.id.navigation_tool -> {
                //message.setText(R.string.title_tool)
                actionBarIcon(R.drawable.logged)
                createToolFragment()
                return@OnNavigationItemSelectedListener true
            }
            R.id.navigation_tutorial -> {
                //message.setText(R.string.title_tutorial)
                actionBarIcon(R.drawable.tutorial)
                createTutorialFragment()
                return@OnNavigationItemSelectedListener true
            }
        }
        false
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // Obtain the FirebaseAnalytics instance.
        mFirebaseAnalytics = FirebaseAnalytics.getInstance(this)

        actionBarIcon(R.drawable.ic_title_black)

        createQponFragment()
        navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener)
    }


    fun getCurrentNumber():String {
        var mAuth: FirebaseAuth? = null
        mAuth = FirebaseAuth.getInstance()
        val cUser = mAuth?.currentUser
        val userPhone = cUser?.phoneNumber
        if (userPhone != null) {
            return userPhone.toString()
        }
        else { return "" }
    }

    fun actionBarIcon(imageName:Int) {

        setSupportActionBar(findViewById(R.id.my_toolbar))
        my_toolbar.setLogo(imageName)

        if (imageName == R.drawable.ic_title_black) my_toolbar.setTitle("fff")
        if (imageName == R.drawable.logged) my_toolbar.setTitle(getCurrentNumber())
        if (imageName == R.drawable.tutorial) my_toolbar.setTitle("Tutorial")
    }

Начальное изображение приложения enter image description here

Вернулось с другогофрагмент enter image description here

1 Ответ

0 голосов
/ 13 июня 2018
 fun actionBarIcon(imageName:Int) {

        setSupportActionBar(findViewById(R.id.my_toolbar))
        my_toolbar.setLogo(imageName)

/* 
What is to be done to solve the issue:-
Below code is setting up title to fff if only the condition is met. but there you have not set any title if condition is not met so by default it is picking up app name.
So, give a default value when activity is visible. Either provide title to toolbar in layout or use  

// Set toolbar title/app title
        my_toolbar!!.title = "fff"
 */

        if (imageName == R.drawable.ic_title_black) my_toolbar.setTitle("fff")
        if (imageName == R.drawable.logged) my_toolbar.setTitle(getCurrentNumber())
        if (imageName == R.drawable.tutorial) my_toolbar.setTitle("Tutorial")
    }

Вы можете проверить комментарий в коде или перейти по ссылке ниже, например, Посетите https://android - code.blogspot.com/2018/02/android-kotlin-toolbar-example.html

...