2012-04-05 47 views
2

它是活動顯示帶有肯定按鈕的對話窗口。點擊按鈕,它會去Staticdisplay活動。我正在嘗試在加載活動時添加進度欄。我收到以下錯誤。 $BadTokenException: Unable to add window -- token null is not for an application 錯誤無法添加窗口 - 標記null不適用於應用程序

這是添加進程條的代碼.. progressBar.show();我在這一行中收到錯誤。我怎樣才能擺脫這個錯誤。謝謝。

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setCustomTitle(title); 

     builder.setMessage(R.string.app_description).setPositiveButton(
       "Ok", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int id) { 
         if (Registration.isRunning == false) { 
          startService(new Intent(
            getApplicationContext(), 
            Registration.class)); 
         } 
         staticInfo(); 
         if (Registration.ruid == null) 
          Registration.ruid = uId; 
         progressBar = new ProgressDialog(
           getApplicationContext()); 
         progressBar.setCancelable(true); 
         progressBar.setMessage("Loading Activity..."); 
         progressBar 
           .setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
         progressBar.setProgress(0); 
         progressBar.setMax(100); 
         progressBar.show(); 
         progressBarStatus = 0; 

         new Thread(new Runnable() { 
          public void run() { 
           while (progressBarStatus < 100) { 

            progressBarStatus = 100; 

            progressBarHandler.post(new Runnable() { 
             public void run() { 
              progressBar 
                .setProgress(progressBarStatus); 
             } 
            }); 
           } 

           if (progressBarStatus >= 100) { 

            progressBar.dismiss(); 
            startActivity(new Intent(
              getApplicationContext(), 
              StatisticDisplay.class)); 
           } 
          } 
         }).start(); 

        } 

       }); 
     AlertDialog alert = builder.create(); 
     alert.show(); 
    } else { 
     startActivity(new Intent(getApplicationContext(), 
       StatisticDisplay.class)); 
    } 
} 

回答

15
progressBar = new ProgressDialog(getApplicationContext()); 

到位getApplicationContext的()通過UR ActivityName.this或的getContext()

+0

也幫助我.. +1 – 2013-01-17 07:07:57

相關問題