【发布时间】:2023-03-28 17:54:02
【问题描述】:
我搜索了很多地方,但找不到“runOnUiThread”实现的完整工作示例。我尝试了很多,但得到了很多错误。 我只想显示线程中的祝酒词。
【问题讨论】:
标签: android multithreading toast
我搜索了很多地方,但找不到“runOnUiThread”实现的完整工作示例。我尝试了很多,但得到了很多错误。 我只想显示线程中的祝酒词。
【问题讨论】:
标签: android multithreading toast
所以这是最终的完整代码。感谢所有回复的人。
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MainActivity.this.runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(MainActivity.this, "This is Toast!!!", Toast.LENGTH_SHORT).show();
}
});
}
}
关于 XML,它是默认创建的 XML 文件。无需更改。
【讨论】:
YourActivityName.this.runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(YourActivityName.this, "This is Toast!!!", Toast.LENGTH_SHORT).show();
}
});
【讨论】:
要回答Nefariis 的问题,我遇到了同样的问题,需要从非活动类中敬酒,要解决它,您可以将上下文传递给调用runOnUiThread 的函数。
例如:
public class FlashCardsUtil
{
public static void fillTableFromFile(SQLiteDatabase pSqLiteDatabase, final Context pContext, String pFileName)
{
...
runOnUiThread(new Runnable()
{
public void run()
{
Toast.makeText(pContext, "Success filling database", Toast.LENGTH_SHORT).show();
}
});
}
}
【讨论】: