EventBus3.0 usage notes.md

There is nothing to say about the event bus, except that the fragment or activity that has been ondestroy cannot be accepted, as long as it is defined, it can receive messages . The
code is as follows, one thing to note is that the received listening events must be decorated with public and annotated with @Subscribe

compile 'org.greenrobot:eventbus:3.0.0'
public class MainActivity extends Activity {
    private TextView textView;
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.tv);

        textView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent();
                intent.setClass(MainActivity.this, SecondActivity.class);
                startActivity(intent);
            }
        });

        EventBus.getDefault().register(this);
    }

    @Subscribe
    public void onMessageEvent(MessageEvent messageEvent){
        textView.setText(messageEvent.getMessage());
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();

        EventBus.getDefault().unregister(this);
    }
}
public class SecondActivity extends AppCompatActivity {
    private TextView tv_receive;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        tv_receive = findViewById(R.id.tv_receive);
        tv_receive.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                EventBus.getDefault().post(new MessageEvent("发送成功"));
                finish();
            }
        });

    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
    }
}
public class MessageEvent {

    private String message;

    public MessageEvent(String message) {
        this.message = message;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324775171&siteId=291194637