我的应用程序有一个活动和三种类型的碎片。
MainActivity
包含ToolBar
,并且片段会将自己的操作添加到此ToolBar
中 - 因此片段没有自己的ToolBar
。
formFragmet
EditText
,CheckBox
,Spinner
,日期
和时间字段。它具有ToolBar
中更新的操作
当用户更改其中的内容时,这些字段。ListFragment
,它有记录列表 -
它不需要在ToolBar
。ViewPager
)。 TabbedFragment
并不需要采取任何行动
ToolBar
,但如果FormFragment
(A)位于当前标签中,则为FormFragment
显示ListFragment
的操作,这样就可以了
工作正常。问题是:
当用户从FormFragment
(B)下一个屏幕中选择一条记录为ToolBar
(A)时,用户可以更改字段中的值。之后,用户从ToolBar
(更新)中选择一个操作,并更新表单。
成功更新后,用户返回(触摸BackStack
所添加的活动ListFragment
中的箭头,并显示ListFragment
}至FormFragment
(B )并且用户选择列表中的另一个项目。另一个(新)ToolBar
在字段中打开不同的数据。
用户更改此表单中的内容,然后按工具栏中的更新操作。
不保存更改!原因是此(新)formFragment
中FormFragment
的操作仍附加到PREVIOUS var _file = document.getElementsByClassName('file')[0]; //Return a NodeList
_file.onclick = function(){
document.getElementsByClassName('none')[0].click();
}
???
有没有人有这个问题???
有没有办法以某种方式从片段中分离动作?
我猜测Android会在创建时将工具栏中的新动作设置为新片段。但显然它没有这样做。
请有人帮忙。
P.S。 如果需要,我将提供代码的一些部分。
提前致谢。
答案 0 :(得分:0)
这个问题的答案是:在TabbedPagerAdapter中使用getChildFragmentManager()。
我正在使用Activity的getSupportFragmentManager(),当你使用像TabbedFragment这样的NESTED片段有错误时,它有一个ViewPager,而ViewPager里面有(子)片段。