码迷,mamicode.com
首页 > 移动开发 > 详细

android中的handler使用之四

时间:2016-09-02 20:27:56      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:

我们知道handler是android中的一个传送机制,可以传送各种各样的消息,使得多线程的使用更加方便。但是我这里说的是,我们还可以利用handler来截断发送的消息。代码如下

xml代码

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     tools:context="com.example.android_handler2.MainActivity" >
 6     <Button 
 7         android:id="@+id/button"
 8         android:layout_width="fill_parent"
 9         android:layout_height="wrap_content"
10         android:text="@string/button_string"
11         />
12 </LinearLayout>

java代码

 1 package com.example.android_handler2;
 2 
 3 
 4 
 5 
 6 
 7 import android.app.Activity;
 8 import android.os.Bundle;
 9 import android.os.Handler;
10 import android.os.Handler.Callback;
11 import android.os.Message;
12 import android.view.View;
13 import android.view.View.OnClickListener;
14 import android.widget.Button;
15 import android.widget.Toast;
16 
17 public class MainActivity extends Activity  implements OnClickListener{
18     private Button button = null;
19     private Handler handler = new Handler(new Callback() {
20         //只要return的是true,就会截断下面的handlerMessage中接的方法
21         public boolean handleMessage(Message msg) {
22             Toast.makeText(MainActivity.this, "1", Toast.LENGTH_LONG).show();
23             return true;
24         }
25     }){
26         public void handleMessage(Message msg) {
27             Toast.makeText(MainActivity.this, "2", Toast.LENGTH_LONG).show();
28             return ;
29         }
30     };
31     protected void onCreate(Bundle savedInstanceState) {
32         super.onCreate(savedInstanceState);
33         setContentView(R.layout.activity_main);
34         button = (Button) findViewById(R.id.button);
35         button.setOnClickListener(this);
36     }
37     @Override
38     public void onClick(View v) {
39         handler.sendEmptyMessage(1);
40         
41     }
42 
43 }

运行这个程序我们知道,toast只打印出1,而没打印出2来,因此表明2已经被截断了。

android中的handler使用之四

标签:

原文地址:http://www.cnblogs.com/Stay-Hungry-Stay-Foolish/p/5834616.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!