安卓当中的线程和每秒刷一次

package max.test04;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Handler.Callback;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity implements Callback {


private TextView txt1=null;
private Button btn1=null;
private Button btn2=null;
private Handler handler;
private int i=0;
private boolean bl;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txt1=(TextView)this.findViewById(R.id.txt1);
btn1=(Button)this.findViewById(R.id.btn1);
btn2=(Button)this.findViewById(R.id.btn2);
btn2.setOnClickListener(btn2Click);
handler = new Handler(this);

btn1.setOnClickListener(new View.OnClickListener()
{

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
bl=false;
}

});
}

private View.OnClickListener btn2Click= new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
new Thread(new TThreadTest()).start();
}
};

@Override
public boolean handleMessage(Message msg) {
// TODO Auto-generated method stub
switch(msg.what)
{
case 0:

String s = (String)msg.obj;
// //if (msg.obj InstanceOf String)
txt1.setText(s);
// Log.d("log text", s);

break;
case 1:
break;
}

return false;
}

private class TThreadTest implements Runnable
{

@Override
public void run() {
// TODO Auto-generated method stub
//etText.setText("线程赋值");
//handler.obtainMessage(0, "线程赋值").sendToTarget();
bl=true;

while(bl){
i++;
handler.obtainMessage(0,String.valueOf(i)).sendToTarget();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

}

}

原文地址:https://www.cnblogs.com/hechunming/p/4092602.html