簡體   English   中英

Android Kotlin底部導航欄

[英]Android Kotlin Bottom navigation bar

我使用底部導航欄(默認情況下為xx_activity底部),但出現問題。 當我單擊該項目就可以了,該活動很好,但是該活動的項目未更改...

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

}

我認為建議將片段與底部導航結合使用,而不要與活動結合使用。 使用onClick時,您可以將當前的片段替換為該點擊所標識的片段。

我不確定“活動的項目不會更改”,但是我想您是說您當前活動的內容不會更改。

因此,您應該單擊BottomNavigation項,以替換Activity中的Fragments。 這是應該做的

 when (item.itemId) {

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

其中“容器”是BottomNavigation欄上方視圖的ID。 它可以是FrameLayout。 FragmnetGrammaire()是片段的實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM