gpt4 book ai didi

java - Toast 不能在新的可运行程序中使用吗?

转载 作者:行者123 更新时间:2023-12-01 06:58:28 25 4
gpt4 key购买 nike

如标题,我在runnable中使用了toast但是出现了错误我的代码:

public Runnable backgroud=new Runnable(){

public void run() {
// TODO Auto-generated method stub
try
{
while(!Thread.interrupted())
{
String msg="this is a test";
Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
Thread.sleep(1000);
}
}
catch(InterruptedException c)
{
c.printStackTrace();
}
}

};

最佳答案

你不能在其他线程中直接使用toast,但有一个解决方案您创建您的 msgHandler

 mHandler = new Handler() { 
@Override public void handleMessage(Message msg) {
String mString=(String)msg.obj;
Toast.makeText(this, mString, Toast.LENGTH_SHORT).show();
}
};

之后,您从线程中传递消息

 new Thread(new Runnable() {

@Override
public void run() {
while(!Thread.interrupted())
{

Message msg=new Message();
msg.obj="your text";
mHandler.sendMessage(msg);
try {
Thread.sleep(100);
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();

关于java - Toast 不能在新的可运行程序中使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5270283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com