先看简单示例:点击按钮,2s之后,TextView改变内容。

package cn.lixyz.handlertest;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

/**
 * 实现点击按钮,开始播放幻灯片,每张幻灯片间隔2s。
 */

public class MainActivity extends Activity {

    private TextView textView;
    private Button button;
    private Handler handler;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = (TextView) findViewById(R.id.textView);
        button = (Button) findViewById(R.id.button);

        handler = new MyHandler();

        button.setOnClickListener(new MyOnClickListener());
    }

    class MyOnClickListener implements View.OnClickListener {
        @Override
        public void onClick(View v) {
            Thread t = new MyThread();
            t.start();
        }
    }

    class MyThread extends Thread {
        @Override
        public void run() {
            super.run();
            try {
                Thread.sleep(2 * 1000);
                Message message = handler.obtainMessage();
                message.obj = "更改后的内容";
                handler.sendMessage(message);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    class MyHandler extends Handler {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            String str = (String) msg.obj;
            textView.setText(str);
        }
    }
}
MainActivity.java

相关文章:

  • 2021-10-03
  • 2021-09-07
  • 2022-12-23
  • 2022-02-07
  • 2021-08-17
  • 2021-05-25
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-04-07
  • 2021-08-16
  • 2021-12-04
  • 2022-12-23
  • 2021-08-18
  • 2022-12-23
  • 2022-02-19
相关资源
相似解决方案