带有选项卡片段的片段堆栈
Fragment backstack with tab fragment
我有包含 2 个选项卡片段的父片段。
ParentFragmet
TabFragment1
TabFragment2
新片段
现在从按钮上的 TabFragment1 单击打开新片段。
来自 newFragment i select 的值并单击调用 a
的按钮
(activity as MainActivity).supportFragmentManager.popBackStack()
以及一种刷新视图的接口方法
tabFrag1InterFace?.onRefresh(MyValue)
现在在 TabFragment1 上 Ovverride OnRefresh 方法及其正确调用。
TabFragment1
override fun onRefresh(myValue) {
Log.i(TAG,"TabFragment1 onRefresh Before postDelay")
Handler().postDelayed({
Log.i(TAG,"TabFragment1 onRefresh after postDelay")
}, 3000)
}
但是当我使用 newFragment 值并在文本视图中设置时,值没有更新。
我在普通片段中遇到了同样的问题,但是当我在普通片段中添加 postDelay 时,它就像魅力一样工作,但同样不会在 Tab 片段中工作。
当我调试整个过程
我弹回电话
ParentFragment onResume 调用并重定向到默认的 TabFragment1 及其调用接口 OnRefresh()
方法。
我得到的日志如下。
10-11 15:35:16.710 10208-10208/com.app I/TabFragment1: TabFragment1 clicked for NewFragment
10-11 15:35:16.783 10208-10208/com.app I/NewFragment: NewFragment onCreateView
10-11 15:35:48.440 10208-10208/com.app I/NewFragment: NewFragment popBackStack(Clicked submit)
10-11 15:35:48.453 10208-10208/com.app I/TabFragment1: TabFragment1 onRefresh Before postDelay
10-11 15:35:48.488 10208-10208/com.app I/ParentFragent: Called Parent Frag onCreateView
10-11 15:35:48.538 10208-10208/com.app I/ParentFragent: Navigate to TabFragment1 from Parent Frag
10-11 15:35:48.760 10208-10208/com.app I/ParentFragent: Called Parent Frag OnResume
10-11 15:35:51.467 10208-10208/com.app I/TabFragment1: TabFragment1 onRefresh after postDelay
请以任何方式刷新视图,因为我必须显示从 NewFragment select编辑的数据。
supportFragmentManager
.beginTransaction()
.replace(R.id.content_frame, foFragment).addToBackStack(null)
.commit()
替换为
supportFragmentManager
.beginTransaction()
.add(R.id.content_frame, foFragment).addToBackStack(null)
.commit()
我有包含 2 个选项卡片段的父片段。
ParentFragmet
TabFragment1
TabFragment2
新片段
现在从按钮上的 TabFragment1 单击打开新片段。 来自 newFragment i select 的值并单击调用 a
的按钮(activity as MainActivity).supportFragmentManager.popBackStack()
以及一种刷新视图的接口方法
tabFrag1InterFace?.onRefresh(MyValue)
现在在 TabFragment1 上 Ovverride OnRefresh 方法及其正确调用。
TabFragment1
override fun onRefresh(myValue) {
Log.i(TAG,"TabFragment1 onRefresh Before postDelay")
Handler().postDelayed({
Log.i(TAG,"TabFragment1 onRefresh after postDelay")
}, 3000)
}
但是当我使用 newFragment 值并在文本视图中设置时,值没有更新。
我在普通片段中遇到了同样的问题,但是当我在普通片段中添加 postDelay 时,它就像魅力一样工作,但同样不会在 Tab 片段中工作。
当我调试整个过程
我弹回电话
ParentFragment onResume 调用并重定向到默认的 TabFragment1 及其调用接口 OnRefresh()
方法。
我得到的日志如下。
10-11 15:35:16.710 10208-10208/com.app I/TabFragment1: TabFragment1 clicked for NewFragment
10-11 15:35:16.783 10208-10208/com.app I/NewFragment: NewFragment onCreateView
10-11 15:35:48.440 10208-10208/com.app I/NewFragment: NewFragment popBackStack(Clicked submit)
10-11 15:35:48.453 10208-10208/com.app I/TabFragment1: TabFragment1 onRefresh Before postDelay
10-11 15:35:48.488 10208-10208/com.app I/ParentFragent: Called Parent Frag onCreateView
10-11 15:35:48.538 10208-10208/com.app I/ParentFragent: Navigate to TabFragment1 from Parent Frag
10-11 15:35:48.760 10208-10208/com.app I/ParentFragent: Called Parent Frag OnResume
10-11 15:35:51.467 10208-10208/com.app I/TabFragment1: TabFragment1 onRefresh after postDelay
请以任何方式刷新视图,因为我必须显示从 NewFragment select编辑的数据。
supportFragmentManager
.beginTransaction()
.replace(R.id.content_frame, foFragment).addToBackStack(null)
.commit()
替换为
supportFragmentManager
.beginTransaction()
.add(R.id.content_frame, foFragment).addToBackStack(null)
.commit()