我有一个标签活动,其中包含3个标签。
我的活动中有一个 edittext 和按钮,片段中有一个 textview 。
每当我需要更改片段 textview 时,我只需在 edittext 中添加一些文字,然后点击按钮。该文本应出现在片段中。 在这里,我无法使用 setArguments 。
答案 0 :(得分:0)
摇篮:
// 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