标签:
用Handler更新UI
1 package activity.cyq.handlermessage; 2 3 import android.content.res.Resources; 4 import android.graphics.Bitmap; 5 import android.graphics.BitmapFactory; 6 import android.os.Handler; 7 import android.os.Message; 8 import android.support.v7.app.AppCompatActivity; 9 import android.os.Bundle; 10 import android.widget.Button; 11 import android.widget.ImageView; 12 import android.widget.TextView; 13 import android.widget.Toast; 14 15 16 public class MainActivity extends AppCompatActivity { 17 private TextView textView; 18 private Button button; 19 private ImageView imageView; 20 21 private int[] iamgeId = new int[]{R.drawable.aaa1, R.drawable.aaa3, R.drawable.image1}; 22 23 24 private Handler handler = new Handler(new Handler.Callback() { 25 @Override 26 public boolean handleMessage(Message msg) { 27 Toast.makeText(MainActivity.this, "这是Handler的回掉函数", Toast.LENGTH_SHORT).show(); 28 /*如果返回true则终止handler()的执行 ,可用于对message内容进行判断,今儿决定是否继续对messsage的处理*/ 29 return false; 30 } 31 }) { 32 @Override 33 public void handleMessage(Message msg) { 34 super.handleMessage(msg); 35 textView.setText(msg.arg1 + "" + msg.arg2); 36 imageView.setImageBitmap((Bitmap) msg.obj); 37 } 38 }; 39 40 @Override 41 protected void onCreate(Bundle savedInstanceState) { 42 super.onCreate(savedInstanceState); 43 setContentView(R.layout.activity_main); 44 45 textView = (TextView) findViewById(R.id.textView); 46 button = (Button) findViewById(R.id.button); 47 imageView = (ImageView) findViewById(R.id.imageView); 48 /*通过handler.post(Runnable)方法根性UI*/ 49 new Thread() { 50 @Override 51 public void run() { 52 super.run(); 53 /*创建一个Bitmap对象*/ 54 Resources res = getResources(); 55 Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.aaa1); 56 /*发送Message*/ 57 Message message = new Message(); 58 message.arg1 = 123; 59 message.arg2 = 245; 60 message.obj = bmp; 61 /* arg1 arg2 是int类型数据 obj为object类型数据 */ 62 handler.sendMessage(message); 63 } 64 }.start(); 65 66 67 } 68 69 70 }
标签:
原文地址:http://www.cnblogs.com/chenyangqi/p/4746604.html