在TwoPane活动中更新片段A中的ListView?

时间:2015-06-23 18:31:05

标签: android android-fragments

这是TwoPane

的正常行为

enter image description here

是否有可能实现逆转?

类似于:片段B 的点击会更改片段A

上的ListView项目

enter image description here

2 个答案:

答案 0 :(得分:2)

是的,这是可能的。通常,您有父活动侦听点击并通知其他片段。只是反过来做。所以onClick从FragmentB,告诉父母:

 void onClick() {
    MyActivity activity = (MyActivity)getActivity();
    activity.onFragmentBClicked();
  }

然后拥有父更新片段A的列表:

 void onFragmentBClicked() {
    fragmentA.updateList();
  }

这是一个非常简单的示例,因此您需要对其进行修改以满足您的需求。如果你有A - > B工作,然后B - > A完全是一样的。

答案 1 :(得分:0)

或使用Otto来实现同样的目标。它的发布很好地订阅 解耦 您的代码。

从您的片段中提升事件如下。

在您的活动中

@Subscribe public void doSomething(SomeEvent event){

}

在您的片段中执行此操作

YourApplication.getEventBus().post(new SomeEvent(x,y,z));