如何显示敬酒内计时器? [英] How to display toast inside timer?

查看:111
本文介绍了如何显示敬酒内计时器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要显示内部定时器敬酒消息,我用下面的code:

I want to display toast message inside timer and I used the following code :

timer.scheduleAtFixedRate( new TimerTask()
{       
public void run()
{
    try {  
        fun1();
        } catch (Exception e) {e.printStackTrace(); }            
    }   
}, 0,60000);    

public void fun1()
{
    //want to display toast
}

和我收到以下错误:

WARN / System.err的(593):java.lang.RuntimeException的:内螺纹无法创建处理程序,并没有叫尺蠖prepare()

WARN/System.err(593): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

WARN / System.err的(593):在android.os.Handler(Handler.java:121)

WARN/System.err(593): at android.os.Handler.(Handler.java:121)

WARN / System.err的(593):在android.widget.Toast(Toast.java:68)

WARN/System.err(593): at android.widget.Toast.(Toast.java:68)

WARN / System.err的(593):在android.widget.Toast.makeText(Toast.java:231)

WARN/System.err(593): at android.widget.Toast.makeText(Toast.java:231)

感谢。

推荐答案

您不能进行单独的线程中UI的更新,如定时器。您应该使用Handler对象的UI更新:

You can't make UI updates inside separate Thread, like Timer. You should use Handler object for UI update:

timer.scheduleAtFixedRate( new TimerTask() {
private Handler updateUI = new Handler(){
@Override
public void dispatchMessage(Message msg) {
    super.dispatchMessage(msg);
    fun1();
}
};
public void run() { 
try {
updateUI.sendEmptyMessage(0);
} catch (Exception e) {e.printStackTrace(); }
}
}, 0,60000);

这篇关于如何显示敬酒内计时器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆