关闭Dialog后系统调用适配器getView()

时间:2012-05-03 13:53:06

标签: android

我的活动包含一个ListView。当我打开一个对话框(一个来自Dialog的自定义对话框)时,将系统地调用适配器的getView(),因此必须有一个名为somewhere的notifyDataSetChanged。每次关闭对话框时,我都不希望我的列表被刷新。我该如何防止这种情况?

3 个答案:

答案 0 :(得分:0)

这对我来说听起来像是一个生命周期问题...比如从列表活动开始新活动,然后返回列表活动...如果您的列表创建代码在onResume中,那么它将重新开始-跑。

不是说这是真正的问题,但是没有看到你的代码是我能做出的最佳猜测。

答案 1 :(得分:0)

如果您不想设置通知数据集更改,那么您可以暂时将数据保存在任何对象中,当您想要更新它时,只需将该数据保存到您在列表视图中传递的数组列表或字符串数​​组中,然后以这种方式调用notifydatasetchanged它只会在你想要的时候更新。如果您发布一些代码以便我们可以准确地知道您想要做什么,那就更好了。

答案 2 :(得分:0)

我有同样的问题,并认为我无能为力。

当我在ListView中看到它时,我在其中一个视图中添加了一个onClick。我当时不知道它,但是View的这个修改(在getView之后)导致ListView在显示或关闭Dialog时调用我的适配器上的getView()。 (据推测用于视图测量)

由于我无法轻松地重新添加onClick,因此我更改了代码以在getView()中添加onClick,然后未修改视图

事实证明,由于我根本没有修改我的视图(在调用原始的getView()之后),getView()不会在Dialog show或关闭时调用。

不确定这是否也能解决您的问题,但也可能对其他人有所帮助。