2016-10-12 1 views
-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) 
+0

ようこそ。あなたのコード部分、stacktraceはコードブロックでなければなりません。そのようなブロックは、コメントされたコード部分のような不必要なごみなしで読むことができるべきです。 – Beloo

+0

あなたの質問は[this](http:// stackoverflow .com/questions/12400620/how-to-show-alert-dialog-in-a-running-thread)を参照してください。それを見てみましょう – Beloo

答えて

0

あなたは、これらのメソッドについて 1.ポストを知っていますか(Runnableを実行可能) 2. postDelayed(Runnableを実行可能な、長い遅延時間)

あなたは

のTextViewなど、ボタンのような任意のビューでそれらを呼び出すことができるように、それらの両方は、Viewクラスのメソッドです

私はあなたの質問からはっきりしていませんが、私はあなたがUIスレッドでしばらく時間を取るために2番目の方法が必要かもしれないと思います。

関連する問題