我想为我的一些活动制作一个“全局”警报对话框。我的意思是我创建了一个扩展Activity
的类,它还为警报对话框创建了一个带有两个参数(消息和标题)的函数。
public class MyDialogAlert extends Activity {
public void createDialog(String title, String message)
{
new AlertDialog.Builder(this)
.setTitle(title)
.setMessage(message)
.setPositiveButton("yes", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
//(e.g) open another activity
}
})
.setNegativeButton("no", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
//some stuff ..
}
})
.show();
}
}
如何在不同的活动中调用此函数并将其更改为负面和正面按钮,以执行除上述类中最初定义的操作之外的其他操作?
感谢您的帮助:)
答案 0 :(得分:5)
您可以创建单独的类,其中包含用于在任何活动上显示对话框的静态方法
public class DialogCaller {
public static void showDialog(Context context,String title,String message,
DialogInterface.OnClickListener onClickListener) {
AlertDialog.Builder dialog = new AlertDialog.Builder(context);
dialog.setTitle(title);
dialog.setMessage(message);
dialog.setPositiveButton("Ok",onClickListener);
dialog.setNegativeButton("Cancel",null);
dialog.show();
}
}
调用方法就像这样
DialogCaller.showDialog(this,"title","message",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
答案 1 :(得分:0)
根据FinalDark's的工作答案和Faisal Qayyum问题,我希望它可以帮助某人如何关闭对话框并添加否定按钮侦听器
在调用方法中,添加开关大小写:
DialogCaller.showDialog(this,"title","message",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (option) {
case DialogInterface.BUTTON_POSITIVE:
// Add your code if it positive button
break;
case DialogInterface.BUTTON_NEGATIVE:
// Add your code if it negative button
break;
}
}
});
如果您想在单击否定按钮时添加侦听器,只需将null
更改为侦听器:
dialog.setNegativeButton("Cancel",onClickListener);