我有父片段,包含2个制表符片段。
现在,从TabFragment1 on按钮中单击“打开新片段”。从newFragment中选择值,然后单击一个按钮调用
(activity as MainActivity).supportFragmentManager.popBackStack()
和一种刷新视图的接口方法
tabFrag1InterFace?.onRefresh(MyValue)
现在在TabFragment1上使用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中选择的数据。
发布于 2018-10-20 07:23:17
supportFragmentManager
.beginTransaction()
.replace(R.id.content_frame, foFragment).addToBackStack(null)
.commit()
代之以
supportFragmentManager
.beginTransaction()
.add(R.id.content_frame, foFragment).addToBackStack(null)
.commit()
https://stackoverflow.com/questions/52757569
复制相似问题