Android Kotlin Нижняя панель навигации - PullRequest
0 голосов
/ 31 мая 2018

Я использую нижнюю панель навигации (xx_activity bottom по умолчанию), но у меня проблемы.Когда я нажимаю на элемент, все в порядке, активность хороша, но элемент активности не меняется ...

import android.content.Intent
import android.os.Bundle
import android.support.design.widget.BottomNavigationView
import android.support.v7.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_grammaire.*

class GrammaireActivity : AppCompatActivity() {

    private val mOnNavigationItemSelectedListener=BottomNavigationView.OnNavigationItemSelectedListener { item ->
        when (item.itemId) {
            R.id.navigation_grammaire -> {
                val intent = Intent(this,GrammaireActivity::class.java)
                startActivity(intent)
                return@OnNavigationItemSelectedListener true
            }
            R.id.navigation_situations -> {
                val intent = Intent(this,SituationsActivity::class.java)
                startActivity(intent)
                return@OnNavigationItemSelectedListener true
            }
            R.id.navigation_lexiquefrsa -> {
                val intent = Intent(this,LexiqueFrSaActivity::class.java)
                startActivity(intent)
                return@OnNavigationItemSelectedListener true
            }
            R.id.navigation_lexiquesafr -> {
                val intent = Intent(this,LexiqueSaFrActivity::class.java)
                startActivity(intent)
                return@OnNavigationItemSelectedListener true
            }
            R.id.navigation_infos -> {
                val intent = Intent(this,InfosActivity::class.java)
                startActivity(intent)
                return@OnNavigationItemSelectedListener true
            }
        }
        false
    }

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

        navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener)
    }

}

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Я не уверен насчет "элемента действия не меняются", но я думаю, что вы хотите сказать, что содержание вашей текущей деятельности не меняется.

Так что для этого вам следует заменить Фрагменты вАктивность по нажатию на элемент BottomNavigation.Вот как это должно быть сделано

 when (item.itemId) {

      R.id.navigation_grammaire -> {
      supportFragmentManager.beginTransaction.replace(R.id.container, FragmnetGrammaire().commit())
    }

, где «контейнер» - это идентификатор представления над панелью BottomNavigation.Это может быть FrameLayout.FragmnetGrammaire () - это экземпляр вашего фрагмента.

0 голосов
/ 31 мая 2018

Я считаю, что рекомендуется использовать Фрагменты с нижней навигацией, а не Действия.С помощью onClick вы заменяете текущий фрагмент фрагментом, идентифицированным по щелчку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...