android 对话框 重复,如何在Android上重复使用AlertDialog for Yes / No?
我正在尝试找到重用显示自定义标题的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?相关推荐
- android在java下建立模块,Android Studio:如何在Android模块中包含Java模块?
在Android工作室我有一个Android模块,我们称之为MyAndroid.我还有一个Java模块(不是独立的JAR,而是模块中的完整Java项目),我们称之为MyJava.Android Stu ...
- android 显示进度,progressdialog-如何在Android中显示进度对话框?
progressdialog-如何在Android中显示进度对话框? 当我单击"登录"按钮时,我想显示ProgressDialog,这需要时间才能移动到另一个页面. 我怎样才能做到 ...
- android自动发送dtmf,如何在Android上使用pjsip发送dtmf?
我正在尝试在voip呼叫期间发送dtmf. 为了做到这一点我使用如何在Android上使用pjsip发送dtmf? mCall.dialDtmf(String.valueOf(dtmf)); MCAL ...
- UltData for Android for Mac如何在Android上恢复已删除的短信
如何在Android上恢复已删除的短信 虽然WhatsApp和其他聊天信使接管了Android手机的默认短信,但仍然有一些非常重要的信息是通过短信从公司或朋友那里收到的.这就是这些短信仍然有价值的原因 ...
- android指南针程序,如何在Android上制作精确的指南针
我的Android应用程序显示了世界上某个地方的方向,因此需要获得罗盘度. 这是我一直用来计算学位的代码: public void getDirection() { mySensorManager = ...
- android view gesturedetector,如何在Android中利用 GestureDetector进行手势检测
如何在Android中利用 GestureDetector进行手势检测 发布时间:2020-11-26 16:15:21 来源:亿速云 阅读:92 作者:Leah 今天就跟大家聊聊有关如何在Andro ...
- android listview单击,如何在Android中处理ListView单击
如何在Android中处理ListView单击 如何在ListView上收听点击事件? 这就是我现在拥有的 ListView list = (ListView)findViewById(R.id.Li ...
- android编辑配置文件,如何在android studio中修改配置文件
在使用android studio过程中,你知道怎么手动修改配置文件吗?下面是学习啦小编给大家整理的一些有关在android studio中修改配置文件的方法,希望对大家有帮助! 在android s ...
- android 自定义声音,如何在Android设备中添加自己的自定义声音
大多数人在获得新手机后要做的第一件事就是更改铃声.根据制造商的不同,更改警报音,消息音和铃声的选项也有所不同. 如果您不喜欢预装的铃声,则可以根据需要从计算机上更改它.如果您已经将喜欢的铃声存储在计算 ...
- android togglebutton 动画,如何在Android中使用ToggleButton多状态按钮控件
如何在Android中使用ToggleButton多状态按钮控件 发布时间:2020-12-05 16:53:37 来源:亿速云 阅读:84 作者:Leah 这篇文章给大家介绍如何在Android中使 ...
最新文章
- 事件相机特征跟踪-概率数据关联法
- C#中的非托管资源释放(FinalizeDispose)
- rabbitmq 启动异常_RabbitMQ:消息发送确认 与 消息接收确认(ACK)
- BZOJ1922 SDOI2010 大陆争霸 最短路
- 推荐一款移动端的web UI控件 -- mobiscroll
- 房子网签后房产局查不到信息_日本房子:1R、1LDK分不清?凶宅如何分辨?
- 华为提交“NovaBuds”商标申请:nova要出耳机了?
- 俄罗斯互联网提供商巨头Rostelecom遭遇DDoS攻击企图
- IPO 跑路,细思极恐!
- CarMaker支持导入的道路格式
- Python微信公众号接入图灵机器人
- java实现幻方构造
- 适合运动时戴的蓝牙耳机有哪些、非常优秀的运动型蓝牙耳机推荐
- 什么是云桌面?未来有可能替代电脑吗?
- html图片自动旋转
- 1000道最新大厂高频Java面试题,覆盖25个技术栈(多线程、JVM、高并发、spring、微服务、kafka,redis、分布式)从底层原理到架构
- 【建议收藏】ChatGPT 联网版抢先体验,学会这 8 大高阶实用技巧,让你秒上手!
- 互联网创业如何起步(一)
- 浪潮NF5280M5服务器配置RAID
- P5734 【深基6.例6】文字处理软件[c++版]
热门文章
- python svn库_python实现svn新老库迁移
- 通达信公式大全_通达信MACD金叉的选股公式大全
- mysql python连接时、指定的ip地址被转接了_pythonmysql.connector模块使用了错误的IP地址...
- count返回0_MySQL实战 | 14 为什么count(*)越来越慢?
- 项目构建之springboot集成lomback.xml,和log4j基于properties方式的日志配置记录
- @Transient注解作用
- POST请求转换为其他请求失效 input type=“hidden“ name=“_method“ value=“put“无效
- php 域名白名单,域名白名单验证
- java 连接远程服务器_java实现连接远程服务器并执行命令的基本原理
- 电力系统继电保护第二版张保会_电力系统继电保护试题