如何将数据从活动传递到viewpager内部的Fragment

时间:2018-03-11 19:44:06

标签: android interface android-viewpager fragment android-tabactivity

我有一个标签活动,其中包含3个标签。

我的活动中有一个 edittext 按钮,片段中有一个 textview

每当我需要更改片段 textview 时,我只需在 edittext 中添加一些文字,然后点击按钮。该文本应出现在片段中。 在这里,我无法使用 setArguments

2 个答案:

答案 0 :(得分:0)

奥托的EventBus救援。 我确实有这种情况要处理。在我的情况下,我需要在锁定滑动的viewpager中触发片段更改。所以

摇篮:

// EventBus
implementation 'org.greenrobot:eventbus:3.0.0'

制作一个将从活动传递到片段的事件

public class FragmentChangeEvent {
public int fragmentToBeChanged;
 //here you can define variables of your choosing, just make sure you're including them into the constructor of the event.
public FragmentChangeEvent(int fragmentToBeChanged) {
    this.fragmentToBeChanged = fragmentToBeChanged;
    }
}

从活动中触发事件

  EventBus.getDefault().post(new FragmentChangeEvent(1));

最后让你的片段知道总线和事件

@Subscribe(threadMode = ThreadMode.MAIN)
public void onChangeFragmentEvent(FragmentChangeEvent event) {
  //do your work here.
   }
}

答案 1 :(得分:0)

如果您使用ViewPager渲染片段,请在父Activity中使用此代码。

Event