使用Android handler的一个简单例子
jopen
12年前
一般情况下,我们情况下,我们从网络下载数据时或者加载很多的数据时,我们一般不会在oncreat()方法里面写,因为这样就会出现我们经常遇到的黑屏现象,影响用户体验,这是我们一般把他交给handler去处理,另外启一个线程,好了废话不多说了 直接上代码,希望高手指教,activity
package com.hipikids.szh; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class HandlerTextActivity extends Activity implements OnClickListener { /** Called when the activity is first created. */ private Button start = null; private Button end = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); start = (Button)findViewById(R.id.start); end = (Button)findViewById(R.id.end); start.setOnClickListener(this); end.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.start: handler.post(runnnable);//将线程添加到消息队列中 break; case R.id.end: handler.removeCallbacks(runnnable);//杀掉线程 break; } } Handler handler = new Handler(); Runnable runnnable = new Runnable() { @Override public void run() { // TODO Auto-generated method stub System.out.println("runnnable"); handler.postDelayed(runnnable, 3000); } }; }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/start" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="开始" /> <Button android:id="@+id/end" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="结束" /> </LinearLayout>