我有振動和搖動議案我想顯示對話框。當有多個搖動執行時,我有問題,因此會顯示多個對話框。我想在時間只顯示一個對話框。android如果顯示對話框
所以我寫了這段代碼,但它顯示錯誤。一號線要 「最終AlertDialog」 和另一行希望它沒有 「最終」
public void onShake() {
final AlertDialog builder = null;
if(!builder.isShowing()){
builder = new AlertDialog.Builder(getParent()).create(); -- error if final is casted on AlertDialog -- "The final local variable builder cannot be assigned. It must be blank and not using a compound assignment"
builder.setTitle("Shake");
builder.setButton("OK", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which){
builder.dismiss(); -- requires final AlertDialog -- "Cannot refer to a non-final variable builder inside an inner class defined in a different method"
}
});
builder.show();
}}
編輯:謝謝,dialog.builder();看起來工作。但現在我遇到了新的問題 - NullPointerException,拋出線我檢查是否顯示警報對話框。 現在我嘗試:
if(builder.isShowing() == false)
固定的NullPointerException
if(builder == null){
builder.setButton("OK", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which){
dialog.dismiss();
builder = null;
}
}
這看起來很有用,但請你看看我的編輯。 –
嘗試只創建一次對話框,以便您檢查它是否已創建,如果是,則顯示 –
我認爲這不會對我有用,因爲我想讓另一個對話框可用,如果用戶關閉第一個對話框並再次晃動。 –