使用通用对话框,但从android中的不同活动调用不同的函数

时间:2013-04-27 06:13:58

标签: java android

在我的应用程序中,我必须在所有活动上使用相同的对话框,但接着点击对话框上的按钮我需要为不同的活动执行不同的操作,我保留了对话框的常用代码但是如何调用不同的函数,这是我的代码:

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(); 

2 个答案:

答案 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
}