Android Handler简例

本文介绍如何在Android应用中使用Handler实现线程间通信,通过启动线程读秒并传回结束标识来更新UI。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class MainActivity extends ActionBarActivity {

	private TextView textView;
	private final static int IS_FINISH = 1;
	private Handler handler = new Handler() {

		@Override
		public void handleMessage(android.os.Message msg) {

		    //3.接到标识,给textView赋值
			if (msg.what == IS_FINISH) {
				textView.setText(msg.obj.toString());
			}

		};

	};

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		textView = (TextView) findViewById(R.id.txt);

		findViewById(R.id.blockbtn).setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				
				//1.启动线程读秒,读完秒之后
				new Thread(new MyThread()).start();

			}
		});

		findViewById(R.id.showbtn).setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {

				textView.setText("show me the money");

			}
		});

	}

	private class MyThread implements Runnable {

		@Override
		public void run() {
			int i = 0;

			try {

				for (i = 0; i < 5; i++) {
					Thread.sleep(1000);

				}

				//2.读完秒传送结束标识what,并传送消失
				Message msg = Message.obtain();
				msg.obj = "结束: " + i;
				msg.what = IS_FINISH;
				handler.sendMessage(msg);

			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}

	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值