在android中的一个线程中设置TextView值

时间:2011-07-03 17:50:19

标签: java android xml multithreading crash

我在崩溃的情况下遇到了崩溃。我正在以下列方式运行一个线程:

Thread t = new Thread(){
    public void run() {    
            text.setText("hello");    
    }
};
t.start;

如果我尝试在xml中设置TextView的值,则会发生崩溃(对文本的引用已经可用)。

我做了一些根本错误的事吗?请指出哪里出错了。

3 个答案:

答案 0 :(得分:2)

您只能从UI线程访问用户界面组件。

Android有一些方法可以轻松实现,例如方法runOnUiThread和类AsyncTask

要获得更多阅读材料,请参阅Android文档中的Painless ThreadingProcesses and Threads

答案 1 :(得分:0)

您应该只在UI线程上访问android ui工具箱小部件。阅读http://developer.android.com/resources/articles/painless-threading.html

答案 2 :(得分:0)

使用Handler类并检查它以获得更相关的方法

Handler mHandler;
 mHandler=new Handler(){
hdandleMessage(Message what){

text.setText("hello");

}

};
Thread t = new Thread(){
    public void run()
    {

           mHandler.sendEmptyMessage(int what)

        }
};
t.start;
相关问题