消息通道looper

来源:互联网 发布:bjd娃娃6分娃淘宝 编辑:程序博客网 时间:2024/06/09 14:10
  1. FirstAcitvity

public class FirstActivity extends AppCompatActivity {    private Button but = null;    private static final int SET = 1;         //what操作码    private TextView info  = null;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        super.setContentView(R.layout.activity_main);        this.info = (TextView)findViewById(R.id.info);        this.but = (Button)findViewById(R.id.but);        this.but.setOnClickListener(new OnClickListenterImpl());    }    private class OnClickListenterImpl implements View.OnClickListener {        @Override        public void onClick(View v) {            switch (v.getId()) {                case R.id.but:                    Looper looper = Looper.myLooper();      //取得当前线程                    MyHandler myHandler = new MyHandler(looper);      //构造一个handler                    myHandler.removeMessages(0);          //清空所有的消息队列                    String data = "hello,world";                    Message msg = myHandler.obtainMessage(SET,1,1,data);     //发送消息                    myHandler.sendMessage(msg);                    break;            }        }    }    private class MyHandler extends android.os.Handler {        public MyHandler(Looper looper) {           //接收handler            super(looper);      //调用父类构造        }        @Override        public void handleMessage(Message msg) {            switch (msg.what) {                case 1:                    FirstActivity.this.info.setText(msg.obj.toString());            }        }    }}
2. activity_main.xml
<TextView    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:id="@+id/info"/><Button    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:id="@+id/but"    android:text="启动"    android:layout_below="@+id/info"    android:layout_alignParentLeft="true"    android:layout_alignParentStart="true"    android:layout_marginTop="76dp" />


2 0
原创粉丝点击