view.post使用说明

Posted nakemind

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了view.post使用说明相关的知识,希望对你有一定的参考价值。

在使用view post的时候,可以直接在非UI线程中更新UI控件,在onclick中创建一个线程

  new Thread(new Runnable() {
            int i;
            @Override
            public void run() {
                //mTextView.setText("A change in text, thank you very much");
                while (true){
                    i++;
                    try {
                        sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    //System.out.println(Thread.currentThread().getName());

                    //mTextView.setText(String.valueOf(i));
                    mTextView.post(new Runnable(){
                        @Override
                        public void run() {
                            mTextView.setText(String.valueOf(i));
                        }
                    });
                }

            }
        }).start();

每一秒更新一下空间上的数值,如果直接在线程中显示setText的数值,程序会报错

通过vew。post的函数,将Runnable加入到ui线程的消息队列,直接更新ui中的数据,不需要使用handle进行消息的传递和处理

 

以上是关于view.post使用说明的主要内容,如果未能解决你的问题,请参考以下文章

view.post使用说明

post

Carson带你学Android:那些关于view.post() 的四大常见疑难杂症

Android多线程——View.post()源码分析

View.post @Runnable 到底发生了啥 [重复]

Carson带你学Android:为什么view.post()能保证获取到view的宽高?