1.调用handler的post方法,将所要执行的线程对象添加到队列当中,将要执行的操作写在线程对象的run方法中
示例:(Handler与调用它的Activity实际上是处于同一线程的,因为没有调用start函数)
package co.test;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class HandlerTestActivity extends Activity implements OnClickListener,
Runnable {
private Handler handler = new Handler();
private Button startThread;
private Button endThread;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startThread = (Button) findViewById(R.id.buttonStartThread);
startThread.setOnClickListener(this);
endThread = (Button) findViewById(R.id.buttonEndThread);
endThread.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.buttonStartThread:
handler.post(this);
break;
case R.id.buttonEndThread:
handler.removeCallbacks(this);
break;
default:
break;
}
}
@Override
public void run() {
Log.i("thread", "run");
handler.postDelayed(this, 2000);
}
}