AlertDialog 封装

AlertDialog 封装AlertDialog 封装

AlertDialog 封装
效果图
AlertDialog 封装AlertDialog 封装AlertDialog 封装


AlertDialog 封装


1.新建AlertDialogActivity用于封装AlertDialog

package com.example.admin.alertdialog.alertdialog; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface.OnClickListener; /  * 对话框(AlertDialog)封装类  *  * @author 苹果  */ public class AlertDialogActivity { /  * @param context 上下文  * @param icon 图标,如:R.drawable.icon  * @param title 标题  * @param message 显示内容  * @param btnName 按钮名称  * @param listener 监听器,需实现DialogInterface.OnClickListener接口  * @return  */  public static AlertDialog one(Context context, int icon, String title, String message, String btnName, OnClickListener listener) { // 定义dialog为空  AlertDialog dialog = null; AlertDialog.Builder dialog1 = new AlertDialog.Builder(context); // 设置对话框的标题  dialog1.setTitle(title); // 设置对话框的图标  dialog1.setIcon(icon); // 设置对话框的显示内容  dialog1.setMessage(message); // 添加按钮dialog1.setPositiveButton(btnName, new  // DialogInterface.OnClickListener()  dialog1.setPositiveButton(btnName, listener); // 创建一个普通对话框  dialog = dialog1.create(); return dialog; } /  * @param context 上下文  * @param icon 图标,如:R.drawable.icon  * @param title 标题  * @param message 显示内容  * @param btnName 按钮名称  * @param listener 监听器,需实现DialogInterface.OnClickListener接口  * @return  */  public static AlertDialog two(Context context, int icon, String title, String message, String btnName, OnClickListener listener, String btnName1, OnClickListener listener1) { AlertDialog dialog = null; AlertDialog.Builder dialog1 = new AlertDialog.Builder(context); dialog1.setTitle(title); dialog1.setIcon(icon); dialog1.setMessage(message); dialog1.setPositiveButton(btnName, listener); dialog1.setNegativeButton(btnName1, listener1); dialog = dialog1.create(); return dialog; } /  * @param context 上下文  * @param icon 图标,如:R.drawable.icon  * @param title 标题  * @param message 显示内容  * @param btnName 按钮名称  * @param listener 监听器,需实现DialogInterface.OnClickListener接口  * @return  */  public static AlertDialog three(Context context, int icon, String title, String message, String btnName, OnClickListener listener, String btnName1, OnClickListener listener1, String btnName2, OnClickListener listener2) { AlertDialog dialog = null; AlertDialog.Builder dialog1 = new AlertDialog.Builder(context); dialog1.setIcon(icon); dialog1.setMessage(message); dialog1.setPositiveButton(btnName, listener); dialog1.setNegativeButton(btnName1, listener1); dialog1.setNeutralButton(btnName2, listener2); dialog = dialog1.create(); return dialog; } }

2.在主布局文件中添加一个Button用于点击显示AlertDialog



3.新建Main2Activity用于当点击确定按钮时跳转
4.编写主类
package com.example.admin.alertdialog; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private Button btn_AlertDialogNew; @Override  protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //实例化AlertDialog  btn_AlertDialogNew = (Button) findViewById(R.id.button); //给AlertDialog添加监听  btn_AlertDialogNew.setOnClickListener(new View.OnClickListener() { @Override  public void onClick(View v) { //调用封装的AlertDialog  AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this); //设置对话框标题  dialog.setTitle("提示"); //设置对话框图标  dialog.setIcon(R.mipmap.ic_launcher); //设置对话框显示内容  dialog.setMessage("显示内容"); //调用AlertDialog确定按钮  dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override  public void onClick(DialogInterface arg0, int arg1) { //实例化Intent跳转  Intent intent = new Intent(); //指定跳转页面  intent.setClass(MainActivity.this, Main2Activity.class); //开始跳转  startActivity(intent); //使用Toast提示  Toast.makeText(MainActivity.this, "点击确定并跳转", Toast.LENGTH_SHORT).show(); //点击后关闭对话框  arg0.dismiss(); } }); //调用AlertDialog取消按钮  dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override  public void onClick(DialogInterface arg0, int arg1) { Toast.makeText(MainActivity.this, "点击取消", Toast.LENGTH_SHORT).show(); //点击后关闭对话框  arg0.dismiss(); } }); //调用AlertDialog帮助按钮  dialog.setNeutralButton("帮助", new DialogInterface.OnClickListener() { @Override  public void onClick(DialogInterface arg0, int arg1) { Toast.makeText(MainActivity.this, "点击帮助", Toast.LENGTH_SHORT).show(); //点击后关闭对话框  arg0.dismiss(); } }); //显示AlertDialog  dialog.show(); } }); } }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229096.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午5:29
下一篇 2026年3月16日 下午5:29


相关推荐

  • html5 数字滚动选择器,Odometer使用JavaScript和CSS制作数字滑动效果

    html5 数字滚动选择器,Odometer使用JavaScript和CSS制作数字滑动效果Odometer 是一个使用 JavaScript 和 CSS 技术 制作出数字上下滑动的动画效果插件 有点类似与我们的天然气的读数的动画效果 这个插件是轻量级的 压缩版本只有 3kg 使用 CSS3 动画技术 所以运行起来非常的流畅 需要这种效果的朋友不妨试试这个插件 所有的主题都可以自定义文字的大小和 Odometer 元素的标签 兼容性 Odometer 能在 IE8 FF4 Safari6 Chrom

    2026年1月30日
    2
  • java 调用win32 api 学习总结

    java 调用win32 api 学习总结java使用JInvoke调用windowsAPI使用jinvoke调用windowsAPI。jna使用比较麻烦,需要写c代码和参数转换,jinvoke的使用就像jdk中的包一样。 官网使用参考:http://www.jinvoke.com/calling-the-win32-api-from-java 一个弹出框的例子(这种代码用于调用任何dll,不只是windows的

    2022年10月9日
    9
  • cas认证流程

    cas认证流程cas 逻辑流程图 CAS 是怎么操作的呢 或则是 KRB Kerberos 怎么操作的呢 他并不是很复杂 他先是建立一个专门认证用户的服务 SERVER 这个服务只做一件事 负责验证用户的 ID 和 PASS 是否是正确 在正确的情况提供用户一个名为 TGT 的票据 相当你要去游乐场玩 首先你要在门口检查你的身份 即 CHECK 你的 ID 和 PASS 如果你通过验证 游乐场的门卫 AS 即提供给你一张门卡 TGT 这张卡片的用处就是告诉游乐场的各个场所 你是通过正门进来 而不是后门偷爬进来的 并且也是获

    2026年3月19日
    1
  • drone无人机app下载苹果版_drone无人机教程视频

    drone无人机app下载苹果版_drone无人机教程视频目录文章目录目录摘要1.实例化无人机及地面站控制对象2.绑定服务3.增加连接点击事件及进行连接摘要本节主要记录HelloDrone的连接过程及Mavlink协议解析过程。1.实例化无人机及地面站控制对象核心内容:controlTower=newControlTower(context);drone=newDrone(context);@Override/***重写onCreate方法,在onStart方法之前启动*/pro

    2022年8月15日
    8
  • OpenClaw龙虾免费卸载流程一览

    OpenClaw龙虾免费卸载流程一览

    2026年3月16日
    3
  • 通配符掩码的计算

    通配符掩码的计算关于通配符掩码的计算我不太清楚通配符掩码具体是怎么定义的,但是在大多数初学者的印象中通配符掩码就是子网掩码取反,在网上搜索了一下也没有什么具体解释,下面是摘自百度百科的解释:路由器使用的通配符掩码(或反掩码)与源或目标地址一起来分辨匹配的地址范围,它跟子网掩码刚好相反。它不像子网掩码告诉路由器IP地址的哪一位属于网络号一样,通配…

    2022年7月24日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号