在我的应用程序中,我必须在所有活动上使用相同的对话框,但接着点击对话框上的按钮我需要为不同的活动执行不同的操作,我保留了对话框的常用代码但是如何调用不同的函数,这是我的代码:
final Dialog dialog = new Dialog(mContext,R.style.Theme_Levels);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.custom_alert);
TextView title = (TextView)dialog.findViewById(R.id.title);
title.setText("Network Error");
TextView msg = (TextView)dialog.findViewById(R.id.msg_txt);
msg.setText("The system is down, please check after some time ");
ImageView cancel = (ImageView)dialog.findViewById(R.id.cancel);
cancel.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
TextView continue_btn = (TextView)dialog.findViewById(R.id.continue_btn);
continue_btn.setBackgroundResource(R.drawable.feedback_button_purple);
continue_btn.setText("Retry");
continue_btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//TODO perform different operation depending upon from where this function has been called
dialog.dismiss();
}
});
dialog.show();
答案 0 :(得分:0)
创建一个接口,比如DialogActivity,使用一个方法“handlePositiveButton”。让您的所有活动实现此接口。从Dialog.onClick你可以这样做:
DialogActivity activity = (DialogActivity) getActivity();
activity.handlePositiveButton();
答案 1 :(得分:0)
将您指定的代码放在Utils文件的函数中。
然后在该函数中传递onclick侦听器的正按钮。
请参阅以下代码。
public static void showAlertDialog(OnClickListener listener) {
// enter your code here
continue_btn.setOnClickListener(listener);
// more code here
}