我正在尝试找到重用显示自定义标题的Dialog的方法,然后将Yes / No click发送到已启动Dialog的功能.

我有两个按钮,保存和解除,并且都调用是/否对话,一个显示“你想保存”,另一个显示“关闭更改?”.

我认为我的程序非常“脏”但我想它可以工作,但我的问题是“查看视图”变量,我不知道如何将它从Activity传递给Dialog,所以我可以用它来回忆启动Dialog的功能.

提前致谢,

HerniHdez

我活动的.java(片段)

public void open_HH_Fragment_YesNo(View view,String aux_title,String aux_function)

{

Bundle bundle=new Bundle();

bundle.putString("setMessage",aux_title);

bundle.putString("callingFunction",aux_function);

DialogFragment newFragment = new HH_Fragment_YesNo();

newFragment.setArguments(bundle);

newFragment.show(getSupportFragmentManager(),"HH_Fragment_YesNo");

}

public void SaveChanges(View view,String aux_YesNo)

{

if (aux_YesNo == "")

{

Toast.makeText(this,"Save changes?",Toast.LENGTH_SHORT).show();

open_HH_Fragment_YesNo(view,"SaveChanges");

}

else if (aux_YesNo == "Yes")

{

Toast.makeText(this,"Saving changes",Toast.LENGTH_SHORT).show();

}

else if (aux_YesNo == "No")

{

Toast.makeText(this,"Save Cancelled",Toast.LENGTH_SHORT).show();

}

}

public void DismissChanges(View view,"Dismiss changes?","DismissChanges");

}

else if (aux_YesNo == "Yes")

{

Toast.makeText(this,"Dismiss OK",Toast.LENGTH_SHORT).show();

Close(view);

}

else if (aux_YesNo == "No")

{

Toast.makeText(this,"Dismiss Cancelled",Toast.LENGTH_SHORT).show();

}

}

// The dialog fragment receives a reference to this Activity through the

// Fragment.onAttach() callback,which it uses to call the following methods

// defined by the HH_Fragment_YesNo.YesNoDialogListener interface

@Override

public void onDialogPositiveClick(DialogFragment dialog,View view,String aux_function)

{

// User touched the dialog's positive button

Toast.makeText(this,"User clicked on Yes",Toast.LENGTH_SHORT).show();

if (aux_function == "SaveChanges")

{

SaveChanges(view,"Yes");

}

else if (aux_function == "DismissChanges")

{

DismissChanges(view,"Yes");

}

}

@Override

public void onDialogNegativeClick(DialogFragment dialog,String aux_function)

{

Toast.makeText(this,"User clicked on NO","No");

}

else if (aux_function == "DismissChanges")

{

DismissChanges(view,"No");

}

}

我的对话的.java(完整)

public class HH_Fragment_YesNo extends DialogFragment

{

@Override

public Dialog onCreateDialog(Bundle savedInstanceState)

{

// Use the Builder class for convenient dialog construction

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

String setMessage = getArguments().getString("setMessage");

final String callingFunction = getArguments().getString("callingFuntion");

builder

.setMessage(setMessage) // R.string.dialog_fire_missiles

.setPositiveButton("Sí",new DialogInterface.OnClickListener() // R.string.fire

{

public void onClick(DialogInterface dialog,int id)

{

// Exit without saving

mListener.onDialogPositiveClick(HH_Fragment_YesNo.this,view,callingFunction);

}

})

.setNegativeButton("No",new DialogInterface.OnClickListener() // R.string.cancel

{

public void onClick(DialogInterface dialog,int id)

{

// User cancelled the dialog

mListener.onDialogNegativeClick(HH_Fragment_YesNo.this,callingFunction);

}

});

// Create the AlertDialog object and return it

return builder.create();

}

/* The activity that creates an instance of this dialog fragment must

* implement this interface in order to receive event callbacks.

* Each method passes the DialogFragment in case the host needs to query it. */

public interface YesNoDialogListener

{

public void onDialogPositiveClick(DialogFragment dialog,String aux_Function);

public void onDialogNegativeClick(DialogFragment dialog,String aux_Function);

}

// Use this instance of the interface to deliver action events

YesNoDialogListener mListener;

// Override the Fragment.onAttach() method to instantiate the NoticeDialogListener

@Override

public void onAttach(Activity activity)

{

super.onAttach(activity);

// Verify that the host activity implements the callback interface

try

{

// Instantiate the NoticeDialogListener so we can send events to the host

mListener = (YesNoDialogListener) activity;

}

catch (ClassCastException e)

{

// The activity doesn't implement the interface,throw exception

throw new ClassCastException(activity.toString() + " must implement NoticeDialogListener");

}

}

}

android 对话框 重复,如何在Android上重复使用AlertDialog for Yes / No?相关推荐

  1. android在java下建立模块,Android Studio:如何在Android模块中包含Java模块?

    在Android工作室我有一个Android模块,我们称之为MyAndroid.我还有一个Java模块(不是独立的JAR,而是模块中的完整Java项目),我们称之为MyJava.Android Stu ...

  2. android 显示进度,progressdialog-如何在Android中显示进度对话框?

    progressdialog-如何在Android中显示进度对话框? 当我单击"登录"按钮时,我想显示ProgressDialog,这需要时间才能移动到另一个页面. 我怎样才能做到 ...

  3. android自动发送dtmf,如何在Android上使用pjsip发送dtmf?

    我正在尝试在voip呼叫期间发送dtmf. 为了做到这一点我使用如何在Android上使用pjsip发送dtmf? mCall.dialDtmf(String.valueOf(dtmf)); MCAL ...

  4. UltData for Android for Mac如何在Android上恢复已删除的短信

    如何在Android上恢复已删除的短信 虽然WhatsApp和其他聊天信使接管了Android手机的默认短信,但仍然有一些非常重要的信息是通过短信从公司或朋友那里收到的.这就是这些短信仍然有价值的原因 ...

  5. android指南针程序,如何在Android上制作精确的指南针

    我的Android应用程序显示了世界上某个地方的方向,因此需要获得罗盘度. 这是我一直用来计算学位的代码: public void getDirection() { mySensorManager = ...

  6. android view gesturedetector,如何在Android中利用 GestureDetector进行手势检测

    如何在Android中利用 GestureDetector进行手势检测 发布时间:2020-11-26 16:15:21 来源:亿速云 阅读:92 作者:Leah 今天就跟大家聊聊有关如何在Andro ...

  7. android listview单击,如何在Android中处理ListView单击

    如何在Android中处理ListView单击 如何在ListView上收听点击事件? 这就是我现在拥有的 ListView list = (ListView)findViewById(R.id.Li ...

  8. android编辑配置文件,如何在android studio中修改配置文件

    在使用android studio过程中,你知道怎么手动修改配置文件吗?下面是学习啦小编给大家整理的一些有关在android studio中修改配置文件的方法,希望对大家有帮助! 在android s ...

  9. android 自定义声音,如何在Android设备中添加自己的自定义声音

    大多数人在获得新手机后要做的第一件事就是更改铃声.根据制造商的不同,更改警报音,消息音和铃声的选项也有所不同. 如果您不喜欢预装的铃声,则可以根据需要从计算机上更改它.如果您已经将喜欢的铃声存储在计算 ...

  10. android togglebutton 动画,如何在Android中使用ToggleButton多状态按钮控件

    如何在Android中使用ToggleButton多状态按钮控件 发布时间:2020-12-05 16:53:37 来源:亿速云 阅读:84 作者:Leah 这篇文章给大家介绍如何在Android中使 ...

最新文章

  1. 事件相机特征跟踪-概率数据关联法
  2. C#中的非托管资源释放(FinalizeDispose)
  3. rabbitmq 启动异常_RabbitMQ:消息发送确认 与 消息接收确认(ACK)
  4. BZOJ1922 SDOI2010 大陆争霸 最短路
  5. 推荐一款移动端的web UI控件 -- mobiscroll
  6. 房子网签后房产局查不到信息_日本房子:1R、1LDK分不清?凶宅如何分辨?
  7. 华为提交“NovaBuds”商标申请:nova要出耳机了?
  8. 俄罗斯互联网提供商巨头Rostelecom遭遇DDoS攻击企图
  9. IPO 跑路,细思极恐!
  10. CarMaker支持导入的道路格式
  11. Python微信公众号接入图灵机器人
  12. java实现幻方构造
  13. 适合运动时戴的蓝牙耳机有哪些、非常优秀的运动型蓝牙耳机推荐
  14. 什么是云桌面?未来有可能替代电脑吗?
  15. html图片自动旋转
  16. 1000道最新大厂高频Java面试题,覆盖25个技术栈(多线程、JVM、高并发、spring、微服务、kafka,redis、分布式)从底层原理到架构
  17. 【建议收藏】ChatGPT 联网版抢先体验,学会这 8 大高阶实用技巧,让你秒上手!
  18. 互联网创业如何起步(一)
  19. 浪潮NF5280M5服务器配置RAID
  20. P5734 【深基6.例6】文字处理软件[c++版]

热门文章

  1. python svn库_python实现svn新老库迁移
  2. 通达信公式大全_通达信MACD金叉的选股公式大全
  3. mysql python连接时、指定的ip地址被转接了_pythonmysql.connector模块使用了错误的IP地址...
  4. count返回0_MySQL实战 | 14 为什么count(*)越来越慢?
  5. 项目构建之springboot集成lomback.xml,和log4j基于properties方式的日志配置记录
  6. @Transient注解作用
  7. POST请求转换为其他请求失效 input type=“hidden“ name=“_method“ value=“put“无效
  8. php 域名白名单,域名白名单验证
  9. java 连接远程服务器_java实现连接远程服务器并执行命令的基本原理
  10. 电力系统继电保护第二版张保会_电力系统继电保护试题