Android AlertDialog 获取PositiveButton的控制权

final AlertDialog.Builder alert = new AlertDialog.Builder(
                        CloudSyncActivity.this);
                alert.setIcon(getResources().getDrawable(R.drawable.about));
                alert.setTitle("标题");
                alert.setMessage("输入提示信息");
                alert.setPositiveButton("确认",
                        new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog,
                                    int which) {

                               //控制点击按钮不消失问题
                                try
                                {
                                Field field = dialog.getClass()
                                .getSuperclass().getDeclaredField(
                                "mShowing" );
                                field.setAccessible( true );
                                // 将mShowing变量设为false,表示对话框已关闭
                                field.set(dialog, false );
                                dialog.dismiss();

                                }
                                catch (Exception e)
                                {

                                }
                            //获取按钮对象
                            Button PositiveButton=((AlertDialog)dialog).getButton(AlertDialog.BUTTON_POSITIVE);
                           //对按钮进行操作
                            PositiveButton.setVisibility(View.GONE);
                      
                            }
                        });
                alert.setNegativeButton("取消",
                        new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                try
                                {
                                Field field = dialog.getClass()
                                .getSuperclass().getDeclaredField(
                                "mShowing" );
                                field.setAccessible( true );
                                // 将mShowing变量设为false,表示对话框已关闭
                                field.set(dialog, true );
                                dialog.dismiss();

                                }
                                catch (Exception e)
                                {

                                }
                            }
                        });
                alert.show();

时间: 2024-09-20 19:08:11

Android AlertDialog 获取PositiveButton的控制权的相关文章

[Android] AlertDialog获取网上天气并显示各城市天气

    最近帮同学做android百度地图,其中涉及到定位城市天气功能.才知道自己技术非常的一般,还有很多东西需要学习,同时需要回归到我研究生的方向--数据挖掘.同时又见识到了一位叫柳峰的大神,推荐大家去看看他的文章,好像他还是贵州的老乡.博文地址:http://blog.csdn.net/lyq8479/     言归正传,我主要通过两种方法实现:     1.第一种方法是通过调用中国天气网信息实现的,它的思想是通过查询静态数据库中个城市对应的WeatherCode,在通过访问中国天气网获取J

Android中获取正在运行的服务-------ActivityManager.RunningServiceInfo的使用

关于PackageManager和ActivityManager的使用 ,自己也写了一些DEMO 了,基本上写的线路参考了Settings模块下的         应用程序,大家如果真正的有所兴趣,建议大家看看源码,不过丑化说在前面,我自己也没怎么看过这方面的源码,只在         需要的时候,才跑过去翻翻.                        今天,在耐着最后一点性子,写下了这篇博文,基本上完成了整个应用程序功能模块的介绍,大家也在此系列上慢慢拓展.     ActivityMa

Android Alertdialog(实现警告对话框)_Android

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式.下面我们模拟卸载应用程序时弹出的最为普通的警告对话框,如下图: layout布局界面代码示例: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http:

Android AlertDialog自定义样式实现代码_Android

Android AlertDialog自定义样式 像列表这种选择项的弹出式对话框,要改变样式一般都采取重写layout方式 今天才了解到 其实可以自定义样式,与大家分享下,其实很简单 AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.AlertDialogCustom)); 然后自定义自己的样式就可以了 <?xml version="1.0" en

Android AlertDialog对话框用法示例_Android

本文实例讲述了Android AlertDialog对话框用法.分享给大家供大家参考,具体如下: AlertDialog对话框的介绍 1.获得AlertDialog静态内部类Buidler对象,由该类来创建AlertDialog对象,因为AlertDialog的构造方法全部是Protected类型 2.通过Buidler对象设置对话框的标题.按钮以及按钮要响应的事件DialogInterface.OnClickListener 3.调用Buidler的create()方法创建对话框 4.调用Al

Android AlertDialog实现分享对话框/退出对话框/下载对话框_Android

一.摘要 弹窗通常用于提示用户进行某种操作,比如:点击分享按钮,弹窗分享对话框:双击返回按钮,弹窗退出对话框:下载文件,提示下载对话框等等,分享对话框/退出对话框/下载对话框,都可以直接使用AlertDialog实现,类似的效果如下图: 二.AlertDialog基础知识 AlertDialog无法直接通过new关键字获取对象,调用方法:new AlertDialog.Builder.create()获取AlertDialog对象,这个时候容易让人疑惑的是:如何设置对话框的属性?比如:对话框标题

Android 实现获取手机里面的所有图片详解及实例

Android 实现获取手机里面的所有图片详解及实例 实现代码: public class MainActivity extends Activity { //查看图片按钮 private Button look; private Button add; //显示图片名称的list ListView show_list; ArrayList names = null; ArrayList descs= null; ArrayList fileNames = null; @Override pro

Android中获取屏幕的长度和宽度

android中获取屏幕的长度和宽度,参考了网上有很多代码,但结果与实际不符,如我的手机是i9000,屏幕大小是480*800px,得 到的结果却为320*533 结果很不靠谱,于是自己写了几行代码,亲测一下 测试参数: 测试环境: i9000( 三星) 物理屏幕:480*800px density :1.5 测试代码: // 获取屏幕密度(方法1) int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 屏

android关于获取经纬度的问题

问题描述 android关于获取经纬度的问题 public void bcwens(View s) { String dz=Context.LOCATION_SERVICE; LocationManager jt=(LocationManager) getSystemService(dz); if (!jt .isProviderEnabled(android.location.LocationManager. GPS_PROVIDER)); String ddz=jt.GPS_PROVIDER