Android内部吐司不工作?

Jee*_*123 0 android toast

吐司不在课堂上工作,

这是我的代码:

public class ToastClass {

public ToastClass (Context activity){   
        callToast(activity);
    }   
    public void callToast(Context activity){
            Toast.makeText(activity, "success", Toast.LENGTH_SHORT).show();
    }   
}
Run Code Online (Sandbox Code Playgroud)

错误我得到了这个,

 java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
Run Code Online (Sandbox Code Playgroud)

我需要在课堂上做任何办法.

谢谢.

poi*_*oae 6

问题是你必须Toast在主线程上显示你的s.不允许Toast.makeText(...)在任何其他线程内.

如果您只想延迟Toast,请使用Handler,否则您可以将任何View实例用于postDelay(Runnable, long)Toast.

在你的情况下,你有一个Activity实例,所以你可以称之为runOnUiThread(Runnable)方法.

activity.runOnUiThread(new Runnable() {
    @Override
    public void run() {
       Toast.makeText(activity, "success", Toast.LENGTH_SHORT).show();
    }
});
Run Code Online (Sandbox Code Playgroud)