runOnUiThread 在 Android 中不起作用
runOnUiThread doesn't work in Android
我在 logcat 上看到 Here3 和 Here4 True True,但命令(alertdialog、mediaPlayerStop 和 VibrateStop)在 运行() 方法中不起作用。有什么建议吗?
提前致谢。
if(check == 1)
{
Log.i("XXX", "Here3");
runOnUiThread(new Runnable()
{
@Override
public void run()
{
new Handler().postDelayed(new Runnable()
{
@Override
public void run()
{
Log.i("XXX", "Here4 " + voiceSwitch.isChecked() + " " + vibrateSwitch.isChecked());
if(voiceSwitch.isChecked())
{
mediaPlayerStop();
}
if(vibrateSwitch.isChecked())
{
vibrateStop();
}
builder.show().dismiss();
}
}, 5000);
}
});
}
您不能将 运行 线程与 UI 一起使用
使用 AsynckTask
class 并使用 builder.show().dismiss();
实现方法 onPostExecute()
可能是一个简单的遗漏,就像我能看到那行
new Handler().postDelayed(new Runnable()
没有关闭)
猜想应该是:
new Handler().postDelayed(new Runnable());
我在 logcat 上看到 Here3 和 Here4 True True,但命令(alertdialog、mediaPlayerStop 和 VibrateStop)在 运行() 方法中不起作用。有什么建议吗? 提前致谢。
if(check == 1)
{
Log.i("XXX", "Here3");
runOnUiThread(new Runnable()
{
@Override
public void run()
{
new Handler().postDelayed(new Runnable()
{
@Override
public void run()
{
Log.i("XXX", "Here4 " + voiceSwitch.isChecked() + " " + vibrateSwitch.isChecked());
if(voiceSwitch.isChecked())
{
mediaPlayerStop();
}
if(vibrateSwitch.isChecked())
{
vibrateStop();
}
builder.show().dismiss();
}
}, 5000);
}
});
}
您不能将 运行 线程与 UI 一起使用
使用 AsynckTask
class 并使用 builder.show().dismiss();
可能是一个简单的遗漏,就像我能看到那行
new Handler().postDelayed(new Runnable()
没有关闭)
猜想应该是:
new Handler().postDelayed(new Runnable());