我在很多地方搜索过但找不到“runOnUiThread”实现的完整工作示例。我尝试了很多,但是遇到了很多错误。 我只是想从一个帖子中显示一个祝酒词。
答案 0 :(得分:34)
所以这是最终的完整代码。感谢所有回复的人。
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文件。无需改变。
答案 1 :(得分:11)
YourActivityName.this.runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(YourActivityName.this, "This is Toast!!!", Toast.LENGTH_SHORT).show();
}
});
答案 2 :(得分:0)
要回答Nefariis问题,我遇到了同样的问题,并且需要从非活动类中干杯,要解决它,您可以将Context传递给您调用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();
}
});
}
}