pan*_*ahm 5 android android-viewpager fragmentstatepageradapter
我想使用视图寻呼机实现底部导航,但我的应用程序因以下异常而崩溃。无法在这里找到确切的问题,有人可以帮助我吗?
java.lang.IllegalStateException: Fragment 已经添加:RepositoriesFragment{6b6a2f2} (3aaac6af-92a3-47bc-b3e5-fa3b29ac5d52) id=0x7f080166 android:switcher:2131231078.appragment(android.addFragmentFragmentFragmentFragment) :67) 在 androidx.fragment.app.FragmentManager.addFragment(FragmentManager.java:1563) 在 androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:405) 在 androidx.fragment.app.FragmentManager.executeOps(FragmentManager. java:2167) 在 androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1990) 在 androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1945) 在 androidx.fragment.appManagerFragmentActionFragment(FragmentManager.java:1990) .java:1847) 在 androidx。fragment.app.FragmentManager$4.run(FragmentManager.java:413) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os。 Looper.loop(Looper.java:201) at android.app.ActivityThread.main(ActivityThread.java:6823) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$ MethodAndArgsCaller.run(RuntimeInit.java:547) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)6823) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) 在 com.android.internal.os.ZygoteInit.main( ZygoteInit.java:873)6823) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) 在 com.android.internal.os.ZygoteInit.main( ZygoteInit.java:873)
这是我实现的 HomePagerAdapter:FragmentPagerAdapter
class HomePageAdapter(fragmentManager: FragmentManager) : FragmentPagerAdapter(fragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
private val instantiatedFragments: SparseArray<WeakReference<Fragment>> = SparseArray()
companion object {
    const val FRAGMENT_INDEX_REPO = 0
    const val FRAGMENT_INDEX_DEV = 1
    const val NUM_OF_ITEMS = 2
    const val FRAGMENT_DEV_TITLE = "Developers"
    const val FRAGMENT_REPO_TITLE = "Repositories"
}
override fun getItem(position: Int): Fragment {
    return if (position == FRAGMENT_INDEX_REPO) {
        RepositoriesFragment.newInstance()
    } else {
        DevelopersFragment.newInstance()
    }
}
override fun instantiateItem(container: ViewGroup, position: Int): Any {
    val fragment = super.instantiateItem(container, position) as Fragment
    instantiatedFragments.put(
        position,
        WeakReference(fragment)
    )
    return fragment
}
override fun destroyItem(container: ViewGroup, position: Int, obj: Any) {
    instantiatedFragments.remove(position)
    super.destroyItem(container, position, obj)
}
override fun getPageTitle(position: Int): CharSequence? {
    return if (position == FRAGMENT_INDEX_REPO) {
        FRAGMENT_REPO_TITLE
    } else {
        FRAGMENT_DEV_TITLE
    }
}
override fun getCount(): Int {
    return NUM_OF_ITEMS
}
}
| 归档时间: | 
 | 
| 查看次数: | 1760 次 | 
| 最近记录: |