先写一个TextView 和Button
<TextView

    android:text="TextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:id="@+id/textView" />
<Button
    android:id="@+id/button1"
    android:padding="0dp"
    android:layout_margin="0dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="更新"
    android:layout_below="@+id/textView"
    android:textAllCaps="false"/>

在Button中添加点击事件:

private Button button;
private TextView textView;
private Handler handler;
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    button = (Button)findViewById(R.id.button1);
    textView = (TextView)findViewById(R.id.textView);
    handler = new MyHandler();

    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            new Thread(new MyThread()).start();
        }
    });
在点击事件中我们让线程运行了,线程的实现代码:

class MyThread implements Runnable{
    int count = 0;
    public void run() {
        while(count <= 20){
            try {
                Thread.sleep(500);
            }catch (Exception e){
                e.printStackTrace();
            }
            //从消息池中获得消息,如果没有消息,创建一个消息,如果有,则取出来,由handler发送
            Message message = Message.obtain();
            message.arg1 = count;
            message.obj = "jack";
            handler.sendMessage(message);
            count++;
        }
    }
在run()方法中发送消息,利用handler发送,

Handler类如下:

class MyHandler extends Handler{
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        int arg1 = msg.arg1;
        String name = (String)msg.obj;
        textView.append(name+arg1);
    }
}
将接收到的内容添加到textView中。

运行的结果如下:

android中利用handler改变textView的内容

点击更新之后每隔0.5秒添加一个数据

相关文章:

  • 2022-12-23
  • 2021-08-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-16
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案