给出了个小栗子
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private TextView show; public static final int UPDATE_TEXT = 1; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { //接收,判断,处理消息 switch (msg.what) { case UPDATE_TEXT: show.setText("更改UI"); break; default: break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //一个Textview,修改文字来达到模拟更改界面UI的效果 show = (TextView) findViewById(R.id.tv_show); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.tv_show: //开启线程(这里是模拟在线程里要修改UI的情况) new Thread(new Runnable() { @Override public void run() { //定义一个Message,可以发送给Handler Message myMessage = new Message(); //用户定义的消息代码,以便接收者能够识别该消息的内容。 myMessage.what = UPDATE_TEXT; //把myMessage放到消息队列的末尾,它将在handleMessage(Message)中接收 handler.sendMessage(myMessage); } }); default: break; } } }
文章来源: Handler修改子线程UI