public class FinalActivity extends AppCompatActivity {
private TextView tvFinal;
private static Handler h;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_final);
findViewById(R.id.btn_next).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LogUtils.w("click............");
h.sendEmptyMessage(1);
}
});
tvFinal = findViewById(R.id.final_tv);
new Thread(new Runnable() {
@SuppressLint("HandlerLeak")
@Override
public void run() {
Looper.prepare();
h = new Handler(Looper.myLooper()) {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
String text = "改变了" + new Random().nextInt(1000);
LogUtils.w("text:" + text);
}
};
Looper.loop();
}
}).start();
}
@Override
protected void onDestroy() {
super.onDestroy();
LogUtils.w("destroy....");
if (h != null) {
h.removeCallbacksAndMessages(null);
}
}
}
代码是示例代码,但是简单明了,子线程更新 UI
,就这样写就可以了。