欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Android】40.EventBus的使用

程序员文章站 2024-03-23 14:58:40
...

40.EventBus的使用

1.下载素材。

本节素材源码,请在公众号回复" AS1220 "。
【Android】40.EventBus的使用

2.导入依赖。

implementation 'org.greenrobot:eventbus:3.1.1'

3.修改activity_main.xml。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/btn_send"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="发出信息"/>

    <TextView
        android:id="@+id/tv_show"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="25sp"/>

</LinearLayout>

4.修改MainActivity。

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		EventBus.getDefault().register(this);

		findViewById(R.id.btn_send).setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				EventBus.getDefault().post("我是信息");
			}
		});
	}

	@Subscribe(threadMode = ThreadMode.MAIN)
	public void onEvent(String msg) {
		TextView textView = findViewById(R.id.tv_show);
		textView.setText(msg);
	}

	@Override
	protected void onDestroy() {
		super.onDestroy();
		EventBus.getDefault().unregister(this);
	}
}

5.效果图。

【Android】40.EventBus的使用