zoukankan      html  css  js  c++  java
  • handler更新ui线程的基本用法

    1.因为费时操作要放子线程,更新UI要放UI线程(主线程),所以子线程和主线程通信,通信的话要用到handler这个东西。

    这里讲的比较简单,举2个例子说明

    2.使用post的是handler ,使用message的是handler2

    public class MainActivity extends AppCompatActivity {

    private TextView textView;
    private Handler handler = new Handler();

    private Handler handler2=new Handler(){
    @Override
    public void handleMessage(Message msg) {
    switch (msg.what){
    case 1:
    textView.setText(msg.obj.toString());
    }
    }
    };

    Button button;
    private static final String TAG = "MainActivity";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    textView =findViewById(R.id.textview);

    new Thread(){
    @Override
    public void run() {
    Message message = new Message();
    //区分标志
    message.what=1;
    //传参到ui线程
    message.obj=123123;
    handler2.sendMessage(message);
    }
    }.start();


    new Thread(){
    @Override
    public void run() {
    handler.post(new Runnable() {
    @Override
    public void run() {
    textView.setText("fjidfjiijisdf");
    }
    });
    }
    }.start();
    }


    }

    3. 实例化handler在其他线程的时候要下面这样写

     private Handler handler = new Handler(Looper.getMainLooper());
  • 相关阅读:
    跟踪spring MVC的请求
    spring的Java注解方式
    spring IOC理解
    spring aop
    spring mvc开发过程中的乱码问题
    springmvc的Controller里实现转发的同时弹出提示对话框
    C++程序加速的12个方法
    VSCode官方配置C/C++
    VSCode配置C/C++环境
    Numba 0.44 中文文档
  • 原文地址:https://www.cnblogs.com/norm/p/8270486.html
Copyright © 2011-2022 走看看