gpt4 book ai didi

java - 使用 Otto 将数据从 Activity 传递到 Activity 不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 12:46:49 24 4
gpt4 key购买 nike

这是我第一次使用这个库,但我一直在关注 this通过 Fragments 发送数据的视频教程,但在我的例子中,它只是 Activities..所以我是这样做的

我正在发送数据的 Activity :

public void onClick(View view) {
String passing_data = new Gson().toJson(user);
BusStation.getBus().post(new MessageData(passing_data));
Intent intent = new Intent(activity,UserAdsView.class);
activity.startActivity(intent);
}

BusStation 类:

public class BusStation {
private static Bus bus = new Bus();

public static Bus getBus() {
return bus;
}
}

消息数据类:

public class MessageData {
private String msgData;

public MessageData(String msgData) {
this.msgData = msgData;
}

public String getMsgData() {
return msgData;
}
}

最后是 UserAdsView Activity :

@Override
protected void onResume() {
super.onResume();
BusStation.getBus().register(this);
}

@Override
protected void onPause() {
super.onPause();
BusStation.getBus().unregister(this);
}

@Subscribe
public void recievedData(MessageData messageData){
target = messageData.getMsgData();
Toast.makeText(getApplicationContext(), target, Toast.LENGTH_SHORT).show();
}

如视频中所述,应该触发此方法 recievedData!

最佳答案

当您当时在第一个 Activity 中发送通知时,UserAdsView Activity 未注册 因此没有事件监听器。

在这一行

 BusStation.getBus().post(new MessageData(passing_data));

您正在发送通知,但没有注册接收此通知。即 UserAdsView Activity 尚未开始。

If you need to pass data to activity at launch time, simply send it via Intent.

关于java - 使用 Otto 将数据从 Activity 传递到 Activity 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41972264/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com