如何从Android片段

时间:2016-05-30 08:57:37

标签: android fragment action toolbar

我的应用程序有一个活动和三种类型的碎片。

MainActivity包含ToolBar,并且片段会将自己的操作添加到此ToolBar中 - 因此片段没有自己的ToolBar

  1. (A)片段为formFragmet EditTextCheckBoxSpinner,日期 和时间字段。它具有ToolBar中更新的操作 当用户更改其中的内容时,这些字段。
  2. (B)片段是ListFragment,它有记录列表 - 它不需要在ToolBar
  3. 中执行操作
  4. (C)片段是一个标签片段,可以包含两个(A) 片段和(B)片段,或制表符中的任何其他组合 (ViewPager)。 TabbedFragment并不需要采取任何行动 ToolBar,但如果FormFragment(A)位于当前标签中,则为FormFragment 显示ListFragment的操作,这样就可以了 工作正常。
  5. 问题是:

    当用户从FormFragment(B)下一个屏幕中选择一条记录为ToolBar(A)时,用户可以更改字段中的值。之后,用户从ToolBar(更新)中选择一个操作,并更新表单。

    成功更新后,用户返回(触摸BackStack所添加的活动ListFragment中的箭头,并显示ListFragment}至FormFragment(B )并且用户选择列表中的另一个项目。另一个(新)ToolBar在字段中打开不同的数据。

    用户更改此表单中的内容,然后按工具栏中的更新操作。

    不保存更改!原因是此(新)formFragmentFormFragment的操作仍附加到PREVIOUS var _file = document.getElementsByClassName('file')[0]; //Return a NodeList _file.onclick = function(){ document.getElementsByClassName('none')[0].click(); } ???

    有没有人有这个问题???

    有没有办法以某种方式从片段中分离动作?

    我猜测Android会在创建时将工具栏中的新动作设置为新片段。但显然它没有这样做。

    请有人帮忙。

    P.S。 如果需要,我将提供代码的一些部分。

    提前致谢。

1 个答案:

答案 0 :(得分:0)

这个问题的答案是:在TabbedPagerAdapter中使用getChildFragmentManager()。

我正在使用Activity的getSupportFragmentManager(),当你使用像TabbedFragment这样的NESTED片段有错误时,它有一个ViewPager,而ViewPager里面有(子)片段。