我有两个fragments AFragment和BFragment。 AFragment有一个ListView。 BFragment具有TexviewButton。当用户单击putString上的项目时,Afragment会将片段和ListView更改为BFragment。 BFragment从Afragment获取了数据,并将日期显示为TextView。我能怎么做?

the sample like that

最佳答案

您可以使用库https://github.com/greenrobot/EventBus。很容易!!!

3步EventBus

定义事件:

 public static class MessageEvent { /* Additional fields if needed */ }


准备订阅者:声明并注释您的订阅方法,可以选择指定线程模式:

@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(MessageEvent event) {/* Do something */};


注册和注销您的订户。例如,在Android上,活动和片段通常应根据其生命周期进行注册:

 @Override
 public void onStart() {
 super.onStart();
 EventBus.getDefault().register(this);
 }

 @Override
 public void onStop() {
 super.onStop();
 EventBus.getDefault().unregister(this);
 }


发布事件:

 EventBus.getDefault().post(new MessageEvent());

关于java - 单击 ListView 上的项目以获取 fragment 后如何刷新数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54878496/

10-09 06:52