2012-02-13 46 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找到。