80,351
社区成员
发帖
与我相关
我的任务
分享
public class TestActivity extends AppCompatActivity {
private TextView textView;
private UpdateHandler handler;
private int count = 0;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
textView = findViewById(R.id.text);
handler = new UpdateHandler(this);
new Thread(new Runnable() {
@Override
public void run() {
while (count < 100 || isFinishing()) {
count++;
Message msg = handler.obtainMessage();
msg.obj = String.valueOf(count);
handler.sendMessage(msg);
SystemClock.sleep(1000);
}
}
}).start();
}
private static class UpdateHandler extends Handler{
private WeakReference<TestActivity> reference;
public UpdateHandler(TestActivity activity) {
this.reference = new WeakReference<>(activity);
}
@Override
public void handleMessage(Message msg) {
if (reference != null && reference.get() != null){
TestActivity activity = reference.get();
activity.textView.setText(String.valueOf(msg.obj));
}
}
}
}
AsyncTask同理