网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月19日
漏签
0
天
easyjava吧
关注:
3,201
贴子:
6,308
看贴
图片
吧主推荐
游戏
10
回复贴,共
1
页
<<返回easyjava吧
>0< 加载中...
Android开发之点击按钮后保持对话框不关闭
只看楼主
收藏
回复
望海潮妙手空空
鸡娃仙鸡
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
开讲之前,先播放所歌,慢慢欣赏,慢慢听讲。嘎嘎……
开讲咯!!
用过Android的AlertDialog的都知道,当实现一个AlertDialog后,无论我们点击AlertDialog中按钮后,有没有去调用dismiss方法,系统也会默认的去调用,而把这个AlertDialog对话框关闭掉。但是我们的一些实际需求中,有很多需要保留其对话框不关闭,例如:当要点击按钮后清空输入框的内容,总不能点击后就让其给自动关闭了,再重新弹出AlertDialog对华框,再输入吧,这便变的很变扭,不符合我们的需求。那该如何去解决这一问题呢???
首先让我来了解下,系统中dismiss方法中内容,以便来解决这一个问题。
我们可以追踪到AlertDialog的父类Dialog的源代码中去,这时我们可以看到dismiss方法查看其源代码,我们会发现调用dismiss方法时,dismiss会去调用dismissDialog方法来关闭对话框,dismissDialog方法的代码如下:
从代码中我们可以知道系统是通过mShowing变量就是判断对话框是否已关闭的。因此,我们在代码中通过设置这个变量就可以使系统认为对话框已经关闭,就不再继续关闭对话框了。
但是mShowing是系统中变量同时也是private变量,那我们该怎么去改变它的值呢!这就需要用到上次我提到过的反射机制了。(
http://tieba.baidu.com/p/2286481551?pid=31862362877&cid=#31862362877
,这只是稍微提到过,具体的大家去另外了解,不多解释)。
解决方法,代码如下:
今天的讲解,到此结束,谢谢!!!
望海潮妙手空空
鸡娃仙鸡
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
水月陈兵
鸡娃初鸡
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
不错
xihaifeng1988
鸡娃牛鸡
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
xihaifeng1988
鸡娃牛鸡
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
xihaifeng1988
鸡娃牛鸡
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
xihaifeng1988
鸡娃牛鸡
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
淡定的符号
鸡娃仙鸡
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
悠然天天天
鸡娃初鸡
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
顶,坟也顶
07杨承旭
鸡娃仙鸡
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
赞
伍新great
鸡娃初鸡
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
不行
有问题 还是会关闭
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示