-1
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
HashMap<String, Integer> map = MainActivity.restime;
final List<String> ls = UStats.printCurrentUsageStatuspop(ServiceTest.this, "Daily");
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
ServiceTest.this);
// set title
alertDialogBuilder.setTitle("Your Title");
// set dialog message
alertDialogBuilder
.setMessage("Click yes to exit!")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// if this button is clicked, close
// current activity
dialog.cancel();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// if this button is clicked, just close
// the dialog box and do nothing
dialog.cancel();
}
});
// create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();
// show it
alertDialog.show();
}
};
の私を助けることができる5秒のintrevalでダイアログボックスを開きたいが、エラーがスローされます。Androidの実行 - 私は誰もがこの
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
at android.os.Handler.<init>(Handler.java:200)
at android.os.Handler.<init>(Handler.java:114)
at android.app.Dialog.<init>(Dialog.java:119)
at android.app.Dialog.<init>(Dialog.java:168)
at android.support.v7.app.AppCompatDialog.<init>(AppCompatDialog.java:43)
at android.support.v7.app.AlertDialog.<init>(AlertDialog.java:95)
at android.support.v7.app.AlertDialog$Builder.create(AlertDialog.java:927)
at com.example.admin.digitaltime.ServiceTest$1.run(ServiceTest.java:100)
at java.util.Timer$TimerImpl.run(Timer.java:284)
ようこそ。あなたのコード部分、stacktraceはコードブロックでなければなりません。そのようなブロックは、コメントされたコード部分のような不必要なごみなしで読むことができるべきです。 – Beloo
あなたの質問は[this](http:// stackoverflow .com/questions/12400620/how-to-show-alert-dialog-in-a-running-thread)を参照してください。それを見てみましょう – Beloo