本文實(shí)例為大家分享了Android EventBus普通事件和粘性事件,供大家參考,具體內(nèi)容如下
展示效果
	
	
添加EventBus導(dǎo)入依賴
compile 'org.greenrobot:eventbus:3.0.0'
主MainActivity方法
public class MainActivity extends AppCompatActivity {  private Button button_t,button_d;  private TextView tv_a;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    button_d=(Button)findViewById(R.id.button_d);    button_d.setText("訂閱");    button_t=(Button)findViewById(R.id.button_t);    button_t.setText("跳轉(zhuǎn)到Bctivity");    tv_a=(TextView)findViewById(R.id.tv_a);    tv_a.setText("歡迎大家觀看飛鳥96的博客");    button_t.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View view) {        startActivity(new Intent(MainActivity.this,MainBctivity.class));      }    });    /*    * 訂閱事件    * */    button_d.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View view) {        if(!EventBus.getDefault().isRegistered(MainActivity.this)) {          EventBus.getDefault().register(MainActivity.this);        }else{          Toast.makeText(MainActivity.this, "請勿重復(fù)注冊事件", Toast.LENGTH_SHORT).show();        }      }    });  }  @Override  protected void onDestroy() {    super.onDestroy();    /*    * 取消注冊事件    * */    EventBus.getDefault().unregister(MainActivity.this);  }  @Subscribe(threadMode = ThreadMode.MAIN)  public void onMoonEvent(MessageEvent message){    tv_a.setText(message.getMessage());  }  @Subscribe(sticky = true)  public void onMoonEvents(MessageEvent message){    tv_a.setText(message.getMessage());  }}主MainBctivity方法
public class MainBctivity extends AppCompatActivity {  private Button button_f,button_n;  private TextView tv_b;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main_bctivity);    button_f=(Button)findViewById(R.id.button_f);    button_f.setText("發(fā)送事件");    button_n=(Button)findViewById(R.id.button_n);    button_n.setText("粘性事件");    tv_b=(TextView)findViewById(R.id.tv_b);    tv_b.setText("MainBctivity");    /*發(fā)送事件*/    button_f.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View view) {        EventBus.getDefault().post(new MessageEvent("飛鳥96博客祝你用的開心!"));        finish();      }    });    /*粘性事件*/    button_n.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View view) {        EventBus.getDefault().postSticky(new MessageEvent("開心開心開開心!!"));        finish();      }    });  }}MessageEvent(事件類)
public class MessageEvent {  private String message;  public MessageEvent(String message) {    this.message = message;  }  public MessageEvent() {  }  public String getMessage() {    return message;  }  public void setMessage(String message) {    this.message = message;  }}activity_main(MainActivity的布局)
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" android:layout_centerInParent="true" android:id="@+id/tv_a" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="17dp" android:id="@+id/button_t" android:layout_below="@id/tv_a" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="17dp" android:id="@+id/button_d" android:layout_below="@id/button_t" />
activity_main_bctivity(MainBctivity的布局)
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" android:layout_centerInParent="true" android:id="@+id/tv_b" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="17dp" android:id="@+id/button_f" android:layout_below="@id/tv_b" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="17dp" android:id="@+id/button_n" android:layout_below="@id/button_f" />
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選