当我在我创建的片段之间切换时,本地片段没有被删除,它在其他片段上写入。
请我有一个问题.我正在使用底部导航和导航控制器.一旦我切换片段,家庭片段保持显示在这休息之下
`
class FeedActivity : AppCompatActivity() {
private lateinit var bottomNavigationView: BottomNavigationView
//loadFragment(HomeFragment())
bottomNavigationView = findViewById(R.id.bottom_navigation) as BottomNavigationView
bottomNavigationView.setOnItemSelectedListener {
when (it.itemId) {
R.id.nav_home -> {
loadFragment(HomeFragment())
true
}
R.id.nav_search -> {
loadFragment(SearchFragment())
true
}
R.id.nav_add -> {
loadFragment(AddFragment())
true
}
R.id.nav_notifications -> {
loadFragment(NotificationsFragment())
true
}
R.id.nav_profile -> {
loadFragment(ProfileFragment())
true
}
else -> throw IllegalStateException("Someone forgot to add enough fragment cases to 'when' clause!")
}
}
}
private fun loadFragment(fragment: Fragment){
val transaction = supportFragmentManager.beginTransaction()
transaction.replace(R.id.cercevekapsayici,fragment)
transaction.commit()
}`
`<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".view.FeedActivity">
<FrameLayout
android:id="@+id/cercevekapsayici"
android:layout_above="@id/bottom_appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/bottom_appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" >
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:attr/windowBackground"
app:itemIconTint="@color/cardview_dark_background"
app:labelVisibilityMode="unlabeled"
app:menu="@menu/bottom_navigation" />
</com.google.android.material.appbar.AppBarLayout>
[[一个电子一个电子一个电子一个电子一个电子一个电子一个电子一个电子一个电子一个电子一个电子一个电子)](一个电子一个电子二个电子)'
当我切换到其他片段时,我希望recyclerview消失。
3条答案
按热度按时间wydwbb8l1#
您可以使您的FramLayout高度与父级匹配:
disbfnqx2#
loadFragment
函数替换了Fragment
附加到R.id.cercevekapsayici
上的任何东西,R.id.cercevekapsayici
是一个包含了你的片段的FrameLayout
,但是RecyclerView
是你主布局的一部分,所以不管你附加到R.id.cercevekapsayici
上什么东西,它都会在那里。如果您希望它被替换,请将其放入
Fragment
并添加到FrameLayout
-然后在您切换到不同的片段时将其删除。ozxc1zmp3#
也许你需要给其他片段给予背景信息