Я пытался использовать нижнюю навигацию. Действие и дизайн работают хорошо, но иногда и случайно моя нижняя навигация отключается на несколько секунд и возвращается без каких-либо действий.
Это мой xml-файл с нижней навигацией и макетом фрейма (который содержит фрагмент)
<?xml version="1.0" encoding="utf-8"?>
<layout 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.support.constraint.ConstraintLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context=".Activities.MainActivity">
<FrameLayout
android:id="@+id/frame_layout"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@+id/bottom_bar_navigation"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_bar_navigation"
style="@style/BottomNavigation"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:menu="@menu/bottombar_tabs" />
</android.support.constraint.ConstraintLayout>
Когда я переключаю фрагмент:
...
bottomBar?.setOnNavigationItemSelectedListener {
when (getTabInfo(it.itemId)) {
xx.TAB_MESSENGER -> onFragmentInteraction(
MessengerFragment(),
tab_Bar_Object.TAB_MESSENGER
)
xx.TAB_GUARD -> onFragmentInteraction(
MyGuardsFragment(),
tab_Bar_Object.TAB_GUARD
)
xx.TAB_SEARCH -> onFragmentInteraction(
SearchFragment(),
tab_Bar_Object.TAB_SEARCH
)
xx.TAB_KNOWN -> onFragmentInteraction(
KnownApplicantsListFragment(),
tab_Bar_Object.TAB_KNOWN
)
xx.TAB_ACCOUNT -> onFragmentInteraction(
UserAccountFragment(),
tab_Bar_Object.TAB_ACCOUNT
)
}
}
...
private fun onFragmentInteraction(fragment: Fragment, tabBarObject: xx): Boolean {
if (selectedTab != tabBarObject.position) {
selectedTab = tabBarObject.position
val fragmentTransaction = supportFragmentManager.beginTransaction()
fragmentTransaction.setCustomAnimations(R.anim.fade_in, R.anim.fade_out)
fragmentTransaction.replace(R.id.frame_layout, fragment, tabBarObject.tabName)
fragmentTransaction.commit()
return true
}
return false
}
Проблема появляется только на фрагменте «Страж» и иногда на «Известном» фрагменте.
Картины на фрагменте "Гвардия".