2011-05-17 81 views
3

在Android中創建可重用對話框的最佳方式是什麼?擁有可重用對話框的最佳方式是什麼?

通過讀取Dialog dev guide,我知道我可以在我的Activity之一中使用AlertDialog.Builder(this);,但是如果我想在多個活動中使用它,該怎麼辦?如果這是其他課程,我會擴展它,所以MyDialog extends AlertDialog,但後來我不能使用Builder

有什麼建議嗎?

回答

7

打包一個類文件,如AllMethod.java,並將該代碼添加到該類文件中。

public static void showAlert(Activity act, String msg, DialogInterface.OnClickListener listener) { 
     AlertDialog.Builder alert = new AlertDialog.Builder(act); 
     alert.setMessage(msg); 
     alert.setPositiveButton("OK", listener); 
     alert.show(); 
    } 

你可以使用任何類如下面的代碼。

AllMethod.showAlert(mActivity, "", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
     // Do your code for click 
     } 
}); 
+0

我知道這是一箇舊帖子,但我相信它回答了我的問題。但是,如果我想向對話框中添加一個動作(比如說刷新活動中的列表),我是否簡單地向函數添加一個返回值並在活動中處理它? (發佈後,我意識到這是如此簡單,但我會在這裏留下這個評論) – Woodsy 2011-07-12 15:51:52

+0

如果你想刷新列表上的「確定」按鈕的對話框,然後添加你的刷新代碼(adapter.notifyDataChange())在onClick的正面按鈕,並添加負面按鈕,無事可做。 – 2011-07-13 04:03:59

+1

@CapDroid如果你手動添加代碼到你的onClick處理程序,那麼這個對話框不再是可重用的,或者實際上會緊密耦合到調用者的業務邏輯。 – Sukima 2014-09-25 21:59:12

相關問題