当前位置: 首页 > 知识库问答 >
问题:

使用一个通用对话框,但调用不同于android中diffrent活动的函数

孟韬
2023-03-14

在我的应用程序中,我必须在所有的活动上使用相同的对话框,但然后在对话框上单击按钮,我需要对不同的活动执行不同的操作,我保留了一个对话框的通用代码,但然后如何调用不同的函数,下面是我的代码:

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

共有1个答案

窦啸
2023-03-14

使用一个方法“HandlePositiveButton”创建一个接口,例如DialogActivity。让您的所有活动实现这个接口。在对话框中。OnClick执行以下操作:

DialogActivity activity = (DialogActivity) getActivity();
activity.handlePositiveButton();
 类似资料:
  • 当第三方应用程序中显示< code >活动时,我的应用程序会侦听该应用程序触发的< code >意图。我的应用程序中的< code>BroadcastReceiver会接收到< code>Intent。我想从< code>BroadcastReceiver启动一个活动,它将在现有的< code>activity上显示为一个< code >对话框(触发了Intent)。 Intent<code>cl

  • 嗨,我正在开发一个android应用程序,有两个实际上相同的活动,但加载不同的数据。我目前有两个活动有很多重复的代码,我觉得我可以通过只使用一个活动来优化它。

  • 我有一个具有对话框样式的活动,因此它可以在上一个活动的顶部显示。 我有一个通知,该通知打开此活动,如下所示:

  • UPATE启动 正确答案如下: 是否可以不使用完成块在UIView上执行多个动画 没必要读这个。 上端 我有类似的问题,UIView animateWithDuration会立即返回,但我不能使用完成块,因为我的动画有不同的功能。 但确实想要动画相同的对象。 我在做纸牌游戏,所以我在屏幕上移动纸牌,但在移动之前,我也有一些游戏逻辑。这就是为什么我可以方便地单独制作动画。 如何解决这个问题? @Fo

  • 我的GMAILIMAP代码在PHP从我的localhost工作得很好,但它不能从域工作。 我已完成以下项目: 1) 允许不太安全的应用登录2)在GMAIL帐户中启用IMAP 3)未启用双因素身份验证。4) 我也验证了帐户访问权限5)我还允许:http://www.google.com/accounts/DisplayUnlockCaptcha 可能是我在实时服务器上没有SSL的问题吗? 但我不断得

  • 当我多次调用同一个函数时,每次都传递了不同的参数,我会这样做: 有没有更方便的方法做到这一点呢?