public class MainActivity extends AppCompatActivity {
private TextView tv;
private Button btn;
private Handler handler = new Handler( ){
@Override
public void handleMessage(Message msg) {
//处理消息运用在主线程
switch (msg.what){
case 0x001:
int index = msg.arg1;
tv.setText( ""+index );
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_main );
tv = (TextView)findViewById( R.id.textView );
btn = (Button)findViewById( R.id.button );
}
public void btnClick(View view){
//使用线程完成
//工作线程是一个匿名类
new Thread( ){
@Override
public void run() {
for (int i = 0;i<100;i++){//子线程不允许刷新UI
Message message = new Message();
message.arg1 = i;
message.what = 0x001;//消息的what是消息标识符,必须有
handler.sendMessage( message );
try {
sleep( 1000 );
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start();
}
}