异常信息:
问题源码:
public class MainActivity extends AppCompatActivity {
private static TextView mTime;
private MyHandler mHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTime = (TextView)findViewById(R.id.time_view);
mHandler=new MyHandler();
}
static class MyHandler extends Handler{
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
int t = msg.arg1;
mTime.setText(t);
}
}
public void btnClick(View view) {
new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
try {
Message m = mHandler.obtainMessage();
Thread.sleep(1000);
m.arg1=i;
mHandler.sendMessage(m);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
}
}
只用在handlerMessage中的代码修改为mTime.setText(String.valueOf(t))即可。