新线程中的EditText问题

时间:2012-02-13 19:29:53

标签: android multithreading concurrency android-edittext

我完全不知道为什么应用程序在下面的代码中遇到注释行时会意外停止。

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 个答案:

答案 0 :(得分:1)

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

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