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

}

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/561858.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web前端期末大作业--响应式汽车租赁网页设计--(HTML+CSS+JavaScript)实现

临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?网页要求的总数量太多?HTML网页作业无从下手?没有合适的模板?等等一系列问题。你想要解决的问题,在专栏👇🏻👇&…

android启动页面显示空白,android – 启动时的空白页面

在获取启动画面之前,当我启动应用程序时,我会得到一个空白页面(< 1s).我甚至试过几乎空的泼水活动,但我仍然得到它&#xff01; 怎么了&#xff1f; 清单文件package"com.mypackage"android:versionCode"1"android:versionName"1.0" >andr…

Web前端期末大作业--响应式个人日志博客网页设计(HTML+CSS+JavaScript)实现

临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大&#xff1f;网页要求的总数量太多&#xff1f;HTML网页作业无从下手&#xff1f;没有合适的模板&#xff1f;等等一系列问题。你想要解决的问题&#xff0c;在专栏&#x1f447;&#x1f3fb;&#x1f447;&…

HTML+CSS+JS实现canvas仿ps橡皮擦刮卡效果

效果演示&#xff1a; 文末获取源码 主要JS代码实现 <div class"box" id"bb"><canvas id"cas" width"1366" height"651"></canvas></div><script type"text/javascript" charset&quo…

android寻找手机,寻找那些“干净”的Android手机

非原生Android系统、预装的各种第三方APP&#xff0c;都是拖慢手机运行效率和速度的“罪魁祸首”。那么&#xff0c;现在还有没有“干净”Android手机值得我们选择呢&#xff1f;为了体现“差异化”&#xff0c;绝大多数手机厂商都有自己的“OS”&#xff0c;比如MIUI、Sense等…

人人开源 VUE项目报错./src/assets/scss/index.scssModule build failed: Error: ENOENT: no such file or direct

Module build failed: Error: ENOENT: no such file or directory, scandir ‘C:\Users\administrator\Desktop\renren-fast-vue\node_modules\node-sass\vendor’ at Object.fs.readdirSync (fs.js:861:3) at Object.getInstalledBinaries (C:\Users\xyy’s\Desktop\renren-fa…

android 控件 margin,Android MarginDesign控件TabLayout导航栏使用详解

TabLayout的使用简单介绍比如在平常的项目中实现这样的效果&#xff0c;一般都是都会使用viewPageIndicate等几个开源框架直接实现&#xff0c;或者使用自定义的HorizontalScroll再配合ViewPageFragment实现。在谷歌推出marginDesign之后&#xff0c;实现这种效果可以直接使用T…

Web前端期末大作业--响应式有氧健身休闲会所网页设计(HTML+CSS+JavaScript)

临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大&#xff1f;网页要求的总数量太多&#xff1f;HTML网页作业无从下手&#xff1f;没有合适的模板&#xff1f;等等一系列问题。你想要解决的问题&#xff0c;在专栏&#x1f447;&#x1f3fb;&#x1f447;&…

android 工厂模式创建,7、Android设计模式---(创建型设计模式)抽象工厂模式

一、介绍&#xff0c;定义抽象工厂模式也是创建型模式之一&#xff0c;抽象工厂模式起源于对不同操作系统的图形化解决方案&#xff0c;如不同操作系统的按钮和文本框控件及其实现。为创建一组相关或者相互依赖的对象提供接口&#xff0c;而不需要具体指定他们的具体类。二、使…

Web前端期末大作业--响应式健身会所网页设计(HTML+CSS+JS)实现

临近期末, 你还在为HTML网页设计结课作业,HTML网页作业无从下手&#xff1f;没有合适的模板&#xff1f;等等一系列问题。你想要解决的问题&#xff0c;在专栏&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; java项目精品实战分享案例《100套…

Web前端期末大作业-响应式室内家具网页设计(HTML+CSS+JS)实现

作者主页&#xff1a;Java李杨勇 文末获取源码联系 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大&#xff1f;网页要求的总数量太多&#xff1f;HTML网页作业无从下手&#xff1f;没有合适的模板&#xff1f;等等一系列问题。你想要解决的问题&#xff0c…

Java基础项目实战--大学生求职招聘信息网站系统

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &#x1f345;文末获取源码联系&#x1f345; 临近学期结束&#xff…

html htc控件详解,*.HTC 文件的简单介绍-网页设计,HTML/CSS

今天在论坛上面看到有些兄弟不知道htc是什么东西。小生在这里稍微说一下。从5.5版本开始&#xff0c;internet explorer(ie)开始支持web 行为的概念。这些行为是由后缀名为.htc的脚本文件描述的&#xff0c;它们定义了一套方法和属性&#xff0c;程序员几乎可以把这些方法和属性…

IDEA运行VUE npm install报错:chromedriver@2.27.2 install: node install.js

报错截图&#xff1a; 解决方法&#xff1a; npm install chromedriver --chromedriver_cdnurlhttp://cdn.npm.taobao.org/dist/chromedriver

写得好的html网页,优化网站排名-使用Markdown编写更好的内容和HTML

1.内容创作的悲剧因此&#xff0c;首先您必须了解&#xff1a;内容创建的一个巨大悲剧是HTML。如果你是一位作家、制片人或类似的人&#xff0c;你在创作内容时&#xff0c;总是会遇到这样的问题&#xff1a;想要让博客文章现场直播&#xff0c;或者想要获得网页直播&#xff0…

升级vue-cli

执行命令 npm install -g

大学计算机基础知识判断题,大学计算机基础学习知识判断题.doc

,.序号题目描述您的选择1E-mail?是指利用计算机网络及时地向特定对象传送文字、声音、图像或图形的一种通讯方式。对错2在Internet?上&#xff0c;每个网络和主机的IP?地址是都可以是两个以上。对错3通过设置相应的邮件规则可以进行邮件过滤。对错4IP?地址是给每个连接在In…

VUE报错:Module build failed: Error: Cannot find module ‘node-sass‘

报错代码&#xff1a; Module build failed: Error: Cannot find module node-sassat Function.Module._resolveFilename (module.js:548:15)at Function.Module._load (module.js:475:25)at Module.require (module.js:597:17)at require (internal/module.js:11:18) 解决方…

2021计算机专业考408的学校,2021考研:计算机考研408是什么?统考学校有哪些?...

到底计算机考研408是怎么样的。第一&#xff0c;什么学校考408&#xff0c;大部分985和少部分211第二&#xff0c;难度怎么样&#xff0c;确实难度很大&#xff0c;我没考过其他工科&#xff0c;不知道是不是最难。但是我想说的是考过的大部分都说特别难&#xff0c;一般考890不…