android中使用线程(比如修改textview的text)
16lz
2021-01-24
线程的实现类如下
class UpdateStatus extends Thread {@Overridepublic void run() {super.run();while (true) {if (i == GlobalValues.AUIO_LENGTH || MODE != TIME) {MODE = 0;updateStatus.stop();updateStatus = null;break;}Message m = new Message();m.what = VoiceForm.TIME;VoiceForm.this.handler.sendMessage(m);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}}}
在android的oncreate()方法中添加如下代码
handler = new Handler() {public void handleMessage(Message msg) {switch (msg.what) {case VoiceForm.TIME:i++;myTextView1.setText("正在录音:" + i + "秒");break;}super.handleMessage(msg);}};
然后在需要用到线程的地方,启动线程就行了
这样做是因为android只能在它自己开的主线程中进行ui操作,用户开启的线程通过Message对象告知handler进行如何操作,相当于用户开启的线程只是起到一个通知作用,在handler的实现类中通过switch与case可实现用户的多种操作
更多相关文章
- android基本概念
- Android(安卓)手势检测及通过手势实现翻页效果
- Android(安卓)MVC,MVP和MVVM架构模式的探究
- 史上最全!押题率90%的 Android(安卓)中高级工程师面试复习大纲及
- Android中UI线程与后台线程交互设计的5种方法
- 【Android】Android设计准则
- 进程(一) 1.1 Android中异步处理大杀器——AsyncTask
- Android(安卓)入门第十讲02-广播(广播概述,使用方法(系统广播,自定义
- Android开发指南-用户界面-事件处理