2013-10-11 49 views
1

下面是我用來向用戶顯示信息的alertDialog。試圖解決對話框問題

final AlertDialog.Builder alertDialog = new AlertDialog.Builder(this); 

alertDialog.show(); 
alertDialog.setIcon(R.drawable.ic_launcher); 
alertDialog.setTitle("Title"); 
alertDialog.setMessage("dialog"); 

alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() { 

    public void onClick(DialogInterface dialog, int which) { 

現在,我一直在做研究和計算器四處尋找,看看我能得到這個對話框中顯示一次,我發現這一點有助於。我研究了這些代碼,並將其分解到了我在這方面知識的極限,但我似乎無法弄清楚問題所在。

 final SharedPreferences settings = getSharedPreferences("pref_name", 0); 
     boolean disappear = settings.getBoolean("installed", false); 

     if (disappear == false) { 

      final AlertDialog.Builder alertDialog = new AlertDialog.Builder(this); 
      AlertDialog alert = alertDialog .create(); 

      alertDialog.setIcon(R.drawable.ic_launcher); 
      alertDialog.setTitle("Title"); 
      alertDialog.setMessage("dialog"); 

      alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() { 

       public void onClick(DialogInterface dialog, int which) { 
       settings.edit().putBoolean("installed", true).commit(); 
    } 
alertDialog.show(); 

的問題是,當我在模擬器上啓動這個應用程序我對話框不顯示,沒有什麼在我的應用程序響應什麼,真的類似於此鏈接這個傢伙的問題,我發現Shared Prefence for alert dialog is making my application non responsive我要試圖分解這些代碼,並試圖找出爲什麼會發生這種情況,但是Im限制了我在這方面的知識。那麼有人可以幫助解決這個問題。

10-13 03:10:37.496: E/AndroidRuntime(761): FATAL EXCEPTION: main 
10-13 03:10:37.496: E/AndroidRuntime(761): android.app.SuperNotCalledException: Activity {com.theproblemsolver/com.theproblemsolver.MainActivity} did not call through to super.onPause() 
10-13 03:10:37.496: E/AndroidRuntime(761): at android.app.Activity.performPause(Activity.java:5210) 
10-13 03:10:37.496: E/AndroidRuntime(761): at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1226) 
10-13 03:10:37.496: E/AndroidRuntime(761): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3002) 
10-13 03:10:37.496: E/AndroidRuntime(761): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2971) 
10-13 03:10:37.496: E/AndroidRuntime(761): at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:2949) 
10-13 03:10:37.496: E/AndroidRuntime(761): at android.app.ActivityThread.access$800(ActivityThread.java:141) 
10-13 03:10:37.496: E/AndroidRuntime(761): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1245) 
10-13 03:10:37.496: E/AndroidRuntime(761): at android.os.Handler.dispatchMessage(Handler.java:99) 
10-13 03:10:37.496: E/AndroidRuntime(761): at android.os.Looper.loop(Looper.java:137) 
10-13 03:10:37.496: E/AndroidRuntime(761): at android.app.ActivityThread.main(ActivityThread.java:5041) 
10-13 03:10:37.496: E/AndroidRuntime(761): at java.lang.reflect.Method.invokeNative(Native Method) 
10-13 03:10:37.496: E/AndroidRuntime(761): at java.lang.reflect.Method.invoke(Method.java:511) 
10-13 03:10:37.496: E/AndroidRuntime(761): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
10-13 03:10:37.496: E/AndroidRuntime(761): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
10-13 03:10:37.496: E/AndroidRuntime(761): at dalvik.system.NativeStart.main(Native Method) 
+0

你有沒有試圖把'alertDialog.show()'其他的代碼後(設置標題和消息)?另外,你是否證實了那個時候'消失'是'假'? – codeMagic

回答

0

你已經錯過了兩件事情

   // creation of alert dialog 
       AlertDialog alert = alertDialog .create(); 

       // show it 
       alert.show(); 

寫在底部兩件事。

+0

我已經得到我的對話框現在顯示感謝您,但是當我再次啓動我的模擬器它不顯示,我的應用程序仍然不響應任何東西 –

+0

我想共享首選項代碼中有一些問題,發佈您的完整代碼。 –

+0

我剛剛在我的問題的下半部分發布了對話框的完整代碼,請告訴我是否需要我發佈整個活動 –

0

這是修改和工作中的代碼

final SharedPreferences settings = getSharedPreferences("pref_name", 0); 
    boolean disappear = settings.getBoolean("installed", false); 

    if (disappear == false) { 

     final AlertDialog.Builder alertDialog = new AlertDialog.Builder(this); 

     alertDialog.setIcon(R.drawable.ic_launcher); 
     alertDialog.setTitle("Title"); 
     alertDialog.setMessage("dialog"); 

     alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() { 

      public void onClick(DialogInterface dialog, int which) { 
      settings.edit().putBoolean("installed", true).commit(); 
} 
////////////////////// 
AlertDialog alertDialog = alertDialogBuilder.create(); 
alertDialog.show(); 
+0

我的對話框已顯示,但我有另一個問題,它是當我關閉我的模擬器並啓動我的應用程序再次在模擬器上,對話框不顯示,我的應用程序不響應任何事情。你認爲這個代碼可以解決這個問題 –

+0

我tnink你的問題是在SharedPreferences – wSakly

+0

你知道我該如何解決這個問題? (); –