【问题标题】:Android: Executor.execute fails for some reasonAndroid:Executor.execute 因某种原因失败
【发布时间】:2013-12-22 06:45:28
【问题描述】:

在线程的run()方法中,之前我有这段代码sn-p:

updateConversationHandler.post(new updateUIThread(read,write,this.clientSocket,input,out));

它曾经工作过。但是当我使用 Executors 调用它时,它失败了:

                    executor = Executors.newFixedThreadPool(5);
                    executor.execute(new updateUIThread(read,write,this.clientSocket,input,out));

上面的代码没有响应。

有什么建议吗??

【问题讨论】:

    标签: android threadpool executor


    【解决方案1】:

    OK 问题解决了。删除了“Toasts”和“text.setText()”的所有实例。现在可以正常工作了。

    Android 团队必须列出此类错误并在他们的网站上列出。诸如“错误消息-可能的原因-解决方案”之类的东西。那样。

    【讨论】:

      【解决方案2】:

      像这样使用: 根据您的参数制作您的构造函数:

      类 updateUIThread 实现 Runnable { 私人字符串味精;

              public updateUIThread(String str) {
                  this.msg = str;
              }
      
              @Override
              public void run() {
                  text.setText(text.getText().toString()+"Client Says: "+ msg + "\n");
              }
          }
      

      【讨论】:

        【解决方案3】:

        因为你的执行人对updateConversationHandler一无所知

        【讨论】:

        • 亚历克斯,我不明白。 Updateconversationhandler 属于 Handler 类型。它对 Executor 有什么影响?
        • 它说,“只有创建视图层次结构的原始线程才能接触它的视图。”
        猜你喜欢
        • 2017-11-22
        • 1970-01-01
        • 1970-01-01
        • 2016-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-26
        相关资源
        最近更新 更多