Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 使用Broadcast實現Android組件間的通信

使用Broadcast實現Android組件間的通信

編輯:關於Android編程

Android組件之間的通信有多種實現方式,Broadcast就是其中一種。在activity和fragment之間的通信,broadcast用的更多本文以一個activity為例。
效果如圖:

布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical" >

  <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world" />

  <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView1"
    android:layout_marginLeft="27dp"
    android:layout_marginTop="26dp"
    android:text="發送廣播" />

</LinearLayout>

MainActivity.java

public class MainActivity extends Activity {

  private Button btn;
  private TextView tv;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tv = (TextView) this.findViewById(R.id.textView1);

    //接收廣播
    LocalBroadcastManager broadcastManager = LocalBroadcastManager
        .getInstance(MainActivity.this);
    IntentFilter intentFilter = new IntentFilter();
    intentFilter.addAction("com.example.test1");
    BroadcastReceiver mItemViewListClickReceiver = new BroadcastReceiver() {
      @Override
      public void onReceive(Context context, Intent intent) {
        tv.setText("1111");
      }
    };
    broadcastManager.registerReceiver(mItemViewListClickReceiver,
        intentFilter);

    btn = (Button) this.findViewById(R.id.button1);
    btn.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {

        //發送廣播
        Intent intent = new Intent("com.example.test1");
        LocalBroadcastManager.getInstance(MainActivity.this)
            .sendBroadcast(intent);
      }
    });
  }
}

原文鏈接:http://blog.csdn.net/u012702547/article/details/46816331

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved