如何在线程中显示Toast消息?

时间:2011-02-23 06:14:42

标签: android toast runtimeexception

我想在帖子中显示Toast消息..但我正在

RunTimeException:Can't create handler inside thread that has not called Looper.prepare()

请帮帮我。在此先感谢。

2 个答案:

答案 0 :(得分:11)

在线程中尝试以下代码

runOnUiThread(new Runnable() 
        {                
            @Override
            public void run() 
            {
                //Your toast code here
            }
        });

Thread是一个非GUI线程,你无法从非GUI线程访问GUI元素

答案 1 :(得分:4)

使用android.os.Handler实例从另一个线程访问UI线程:

例如:

class YourUI exends Activity {

    private Handler hm;

    @override
    public void onCreate(Bundle b) {
        // do stuff, and instantiate the handler
        hm = new Handler() {
            public void handleMessage(Message m) {
                // toast code
            }
        };
    }


    public Handler returnHandler(){
        return hm;
    }
}

在非UI线程中,请使用:

YourUI.getHandler().sendEmptyMeassage(0);