2013-09-26 28 views
0

我還有一個問題,我與我的alertDialog,當我強迫關閉在模擬器或設備上的我的應用程序,當我去到的應用程序,設備或模擬器上推出我跑進申請再次我的alertDialog顯示。我不久前在這個鏈接Shared Prefence for alert dialog is making my application non responsive有類似的問題,我認爲我的所有問題,一勞永逸解決。那麼有人可以幫助我解決這個問題。強制關閉應用程序,使我alertDialog顯示

final SharedPreferences settings = getSharedPreferences("pref_name", 0); 
    ("installed", false); 

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

     alertDialog.setTitle("Title"); 
     alertDialog.setIcon(R.drawable.ic_launcher); 
     alertDialog.setAdapter(new MyAdapter(), null); 

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

      public void onClick(DialogInterface dialog, int which) { 
       SharedPreferences.Editor editor = settings.edit(); 
       editor.putBoolean("installed", true); 
       editor.commit(); 

      } 
     }); 

     alertDialog.show(); 

請讓我知道如果你需要我可以對這個代碼運行更

+0

這是哪裏的代碼?它絕對可以顯示一個AlertDialog。詳細說明*爲什麼*它不應該顯示。從你的其他問題看來,它會顯示「installed」是否爲「false」。在這一點上它是否應該是「假」,如果是的話,爲什麼不呢? – codeMagic

+1

抓取崩潰的日誌。 Exception stacktrace是找出它的關鍵。 –

+0

@Alécio我的應用程序沒有兌現,我只是想知道我怎麼能阻止我從對話框顯示用戶強制關閉應用程序的設備 –

回答

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

if (dialogAlreadyShown == false) { 
    showTheDialogYouWannaShow(); 
    settings.edit().putBoolean("installed", true).commit(); 
} 

這樣,下一次,不會顯示該對話框......你還可以保存設置上對話框的onClick,但是如果用戶沒有點擊對話框上的按鈕,對話框將被多次顯示,直到用戶按下按鈕,這也可以是正常的,這取決於您的要求。

注意:在showTheDialogYouWannaShow()我假設你把代碼建立在問題中已經提出的警報對話框。

+0

當我嘗試,我得到了相同的結果在我的應用我第一次啓動該應用程序後,並沒有任何迴應。我在鏈接中的舊問題中遇到了同樣的問題。 –