android thread无法使用,不能发送message也不能收到message。。

我想实现在textview 的内容的改变的时候,更新一下布局界面。。于是创建了一个子线程

  //当日期显示框的字体改变后事实刷新当日南瓜情况
        tv1.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {

            }

            @Override
            public void afterTextChanged(Editable s) {

                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        Message message=new Message();
                        message.what=UPDATE_SIGN;
                        handler.sendMessage(message);

                    }
                });
              

        });
 

并且在oncreat方法中创建了一个hander对象来接受message。但是并没有什么反应

      //子线程中更新UI
        handler=new Handler(){

            public  void  handleMessage(Message msg){
                if(msg.what==UPDATE_SIGN){
                    int  code=0;
                    
                    
                   //省略更新UI代码。。。

               }
            }

请问这是为什么呢?

阅读 3.2k
2 个回答

从代码上看我有一个疑问:new了Thread对象然后发生什么了?没有下文了。

你的线程没有启动起来呢,少了.start()。参考下面的写法。

new Thread(new Runnable(){
    //TODO
}).start();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题