Android学习篇章41-Handler子线程消息

来源:互联网 发布:软件培训学校靠谱吗 编辑:程序博客网 时间:2024/05/21 19:30

Mainactivity:

public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public  void  clickBtn(View view){ new Thread(){ Handler mHandler=null; public void run() { Looper.prepare(); int i=0; mHandler=new Handler(){  @Overridepublic void handleMessage(Message msg) {int i= msg.getData().getInt("i");                         Log.i("test", "当前进度"+i);                    } };  while(i<100) { Log.i("test", "i="+i); SystemClock.sleep(500); i++; Message msg=mHandler.obtainMessage(); Bundle data=new Bundle(); data.putInt("i",i); msg.setData(data); mHandler.sendMessage(msg); } //让Looper对消息队列循环处理 Looper.loop();  }     }.start();}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}

xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity" >    <Button android:id="@+id/btn1"        android:onClick="clickBtn"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="启动子线程" /></RelativeLayout>


原创粉丝点击