AlertDialog之对话框的数据更新

解决Android应用中Dialog对话框ListView数据更新问题
本文详细探讨了在Android应用中使用Dialog对话框时,ListView数据更新遇到的问题。通过分析原因,提出了解决方案,并分享了如何在不销毁原有对话框的情况下实现数据更新的方法。同时,讨论了查询后的对话框固定状态问题,以及如何在不退出应用的情况下更新数据,确保用户体验的一致性和流畅性。

今天在做一个测试的时候,碰到一个问题,就是AlertDialog对话框里面的listView数据更新问题:

ListView是用SimpleCursorAdapter填充的,数据直接来自Cursor如图:


(呵呵,上面的透明效果,真的不明白怎么来的,自己写的代码也没有弄明白,我只是在showDialog(),之后 产生对话框是在onPrepareDialog方法中产生的,就有了透明效果,真真原因就不知道了!)

回到话题 :


如上图:当我们想点击某一行删除数据的时候,出现是否删除,如果删除,返回这个列表,想法很简单,但是实现起来就是如何在返回的时候,实现数据更新,这个问题纠结很久,想监听Adapter但是效果不明现。

无奈之下,想一个感觉不是很明智的办法,就是再次调用showDialog()方法 ,重新生成对话框,这样真的可以了……但是不明白之前showDialog那个对话框还在不在,我没有dismess掉;忘高手明路……


还有一个问题:当我们点击了查询之后,那么这个对话框就感觉已经固定了,如果你在不退出应用程序下,再添加数据之后,即使你的数据库已经更新,再次点击查询都不会有任何更新

调试之后发现,如果点击查询之后,只要不退出应用程序,那么这个dialog似乎已经固定了一样,不会再有任何更新,原因很简单,就是因为在这里onCreateDialog在创建一个对话框的时候只会执行一次,不退出应用程序,永远并不会再次Create对话框,只会多次执行onPrepareDialog方法 ,所以应该把数据更新放在onPrepareDialog方法里面,这样在添加了数据之后,再次显示查询对话框的话就会调用onPrepareDialog方法 ,保证数据的更新 了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT人.阿标

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值