我有一個常見的活動,名爲commonActivity(),我有我的常見警報對話框。在我的第二個活動myActivity()中,我有一個方法myMethod1(),在第三個活動中,我有一個方法爲myMethod2(),我需要調用警報對話框的正面按鈕。是否可以在我的所有活動中使用通用警報對話框並點擊肯定按鈕,觸發活動的相應方法?如何處理來自android中另一個活動的警報對話框的正面按鈕上的事件?
回答
請在commonActivity一個接口(例如:onPosClick與方法的onClick()),並在該活動中,你應該聲明一個變量公共靜態onPosClick mI的; 然後在你的代碼
dialog.setPositiveButton(R.string.dialog_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
mI.onClick();
}
});
最後在其他活動中,你Impliment commonActivity的界面,也許喜歡這裏
onCreate(){
....
commonActivity.mI = new onPosClick(){
@Override
void onClick(){
//do something
}
}
}
使用此並使方法public static
dialog.setPositiveButton(R.string.dialog_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
YourActivity.yourMethod1();
}
});
不,但我需要調用myActivity()中的常用警報對話框,然後在同一活動myActivity()中實現其方法myMethod1()。我希望你能得到我的問題。 –
我覺得最優雅的方式做到這一點是通過創建監聽器。
例聽衆:
public interface YourListener{
void func();
}
然後在你的活動,你創建這個監聽器和覆蓋方法FUNC()。
public class YourActivity implements YourListener{
@Override
void func(){
//do stuff
}
}
然後在您的活動中使用此對話框註冊偵聽器並在onClick方法內執行方法。
dialog.setPositiveButton(R.string.dialog_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
listener.func();
}
});
那不是優雅:P你不應該從其他活動調用函數 – xanexpt
很明顯,每個人都應該避免使用其他活動的方法,但作爲一種解決問題的方法是可以接受的:) –
「我只是想保持一個共同的警告對話框,並在所有使用它活動「。
如果這是您的目的,我認爲您應該創建一個類似Utils的類,並創建一個公共靜態方法來接收上下文並顯示對話框
public static void showDialog(final Context context)
{
try
{
Dialog dialog = new Dialog(activity);
...
dialog.show();
}catch(Exception e){}
}
- 1. 如何在另一個活動中顯示警報對話框?
- 2. 如何顯示來自非活動類的警報對話框
- 3. 如何管理按鈕上的壓力返回一個警報對話框
- 4. 如何在警報對話框中點擊按鈕時啓動新的活動?
- 5. Android:帶有自定義對話框和中性按鈕的警報對話框
- 6. 從警報對話框中烤麪包正面按鈕
- 7. 警報對話框負向按鈕到相同的活動
- 8. Android:警報對話框,取消按鈕
- 9. Android中的正常警報對話框
- 10. Android:如何從警報對話框中啓動活動
- 11. 確定按鈕在Android上的警報對話框
- 12. 處理外部類中的主要活動對話框按鈕
- 13. 另一個警報對話框後的警報對話框?第一個失蹤! android
- 14. 禁用警報對話框構建器中的正向按鈕
- 15. android可顯示來自非UI或非活動類的警報對話框
- 16. 如何通過選擇確定按鈕在警報對話框中啓動一個新的活動類
- 17. 如何正確處理Onclick事件,按鈕事件不顯示警報。
- 18. Android - 增加警報對話框中按鈕的大小
- 19. Android中的警報對話框按鈕問題L
- 20. 如何刪除jQuery警報對話框中的「確定」按鈕
- 21. 在警報對話框中設置3個按鈕,android?
- 22. JNI - Android上的警報對話框
- 23. 如何處理警報對話框中的無效輸入?
- 24. 如何在警報對話框中添加多個按鈕
- 25. 啓動時的Android警報對話框
- 26. 如何處理來自同名多個按鈕的事件
- 27. 帶有一個,兩個和三個按鈕的Android警報對話框
- 28. 按下活動對話框上的後退按鈕停止第一個活動
- 29. 在同一個活動中顯示2個警報對話框
- 30. 如何添加另一個按鈕上的對話框黑莓
我不知道它是否可能,如果是的話,你可能不應該這樣做,你試圖用什麼來實現? – xanexpt
我只想保留一個通用的警報對話框並在所有活動中使用它。 –
創建工具類並創建一個靜態方法來生成alertdialog。那麼在任何你想使用它的課程中都可以調用它。 –