2012-02-13 73 views
0

我完全不知道为什么应用程序在遇到以下代码中的注释行时意外停止。编辑文本在新线程中遇到问题

public class Foo { 
    private ExitText input; 

    public FooExitText input) { 
     this.input = input; 
    } 

    public void start() { 

     // everything is okay: 
      input.requestFocus(); 
      input.setOnKeyListener(new EntryCheckListener()); 
      input.setEnabled(false); 

     // PROBLEMS!: 
      ExecutorService exec = Executors.newSingleThreadExecutor(); 
      exec.execute(new Runnable() { 
       public void run() { 
        synchronized (Foo.this) { 


        // input.setEnabled(false);  

         for(int i=0; i<5; ++i) { 
          //input.setText("test" + i); 
         } 

        // input.setEnabled(false); 

        } 

       } 
      }); 
    } 
} 

P.S. 这是什么意思? :/

“!哎呀你编辑不能提交的原因是:

您的文章没有什么太大的上下文解释代码段;请更清楚地解释你的情况。”

+1

当你有像这样崩溃的应用程序时,你真的需要提供logcat *:D的输出,特别是stacktrace。如果没有这些,以及您提供的当前信息水平,我们任何人都很难提供帮助。 – 2012-02-13 19:31:34

+0

我是Android新手。我在哪里可以找到堆栈跟踪日志?我使用Eclipse IDE。 – 2012-02-13 19:37:04

+0

好的,如果你在eclipse中,应该在窗口 - > show view下面有一个叫做Logcat的视图。在这个观点中,你应该得到一堆红色的文字,指出你破了什么:) – 2012-02-13 19:38:06

回答

1

您不允许修改除主线程以外的线程的UI。考虑使用AsyncTask

一个很好的教程可以在Android site找到。