android - 如何使用greenrobot将数据传递给还没有初始化的activity或fragment?

标签 android greenrobot-eventbus

我尝试使用 greenrobot 在 Activity 和 fragment 之间传递数据,但我找不到合适的教程来详细说明如何操作。 根据我目前所读的内容,我写了一些类似的东西,但它不起作用。我如何使用绿色机器人将数据传递给尚未初始化的 Activity 或 fragment ?

主要 Activity :

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    EventBus.getDefault().post(new String("We are the champions"));
    Intent intent = new Intent("com.test.Activity_Lessons");
    startActivity(intent);
}

Activity _类(class):

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //Some initializations
    EventBus.getDefault().register(this);
    //Other Stuff
}

public void onEventMainThread(String s){
    Toast.makeText(getActivity(), s, Toast.LENGTH_LONG).show();
}

这里从未调用事件处理程序。我做错了什么?

最佳答案

EventBus有两种发送和注册事件的方法,在activity或fragment还没有初始化的情况下,我们可以使用registerSticky和postSticky来代替register和post。

这是我自己更正的代码:

主要 Activity :

@Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    EventBus.getDefault().postSticky(new String("We are the champions"));
    Intent intent = new Intent("com.test.Activity_Lessons");
    startActivity(intent);
}

Activity _类(class):

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //Some initializations
    EventBus.getDefault().registerSticky(this);
    //Other Stuff
}

public void onEventMainThread(String s){
    Toast.makeText(getActivity(), s, Toast.LENGTH_LONG).show();
}

关于android - 如何使用greenrobot将数据传递给还没有初始化的activity或fragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20838726/

相关文章:

android - 无法让 http 服务器在 android 上工作

java - 普通 Java 应用程序上的 Greenrobot 的 EventBus

android - 事件总线 fragment 注销

java - android :name attribute do? 是什么意思

android - EventBus 是否适合从 RecyclerView 适配器到使用 RecyclerView 的 fragment 的通信

android - Greenrobot Android Eventbus - 没有选项 eventbusindex 传递给注释处理器

java - EventBus - 事件生命周期的一些问题

android - webview加载数据后activity出现一些白 block

android - Android 6.0.1 上的三星 Galaxy S7 Edge 上的 EGL native 库崩溃

java - 在 Eclipse 中生成随机数时崩溃