如何从Android活动调用片段方法?

时间:2016-10-16 09:14:20

标签: android android-fragments

我有这种结构

  1. MainPage Activity1具有包含3个片段的视图寻呼机
  2. 我正在使用tabapdater
  3. 第一个片段有移动到另一个Activity2的方法
  4. 我想在Activity2中单击按钮时在第一个片段中触发一些方法

    我能这样做吗?你能给我一些代码吗?

    谢谢你们

2 个答案:

答案 0 :(得分:0)

有一些解决方案。 我认为第一个是startActivityForResult。如果您通过调用startActivityForResult而不是startActivity开始第二项活动,则可以通过覆盖onActivityResult方法在第一项活动中获得结果,然后从那里更改第一个片段内容。

另一个好的和简单的解决方案是使用像EventBusotto这样的总线。 他们有很好的文件记录。

答案 1 :(得分:0)

在Fragment类中:

public void foo(Object objectToPassFromActivity) {
    // do what you want
}

在您的活动中:

ExampleFragment fragment = (ExampleFragment) getFragmentManager().findFragmentByTag(getFragmentTag(R.id.yourViewPagerId, fragmentPosition);
fragment.foo(objectToPassFromActivity)

添加方法:

private String getFragmentTag(int viewPagerId, int fragmentPosition) {
    return "android:switcher:" + viewPagerId + ":" + fragmentPosition;
}

您可以在评论中看到我添加的链接,以获取更多详细信息。