【问题标题】:Android - Trackball, ListView Visibility Gone ErrorAndroid - 轨迹球、ListView 可见性消失错误
【发布时间】:2012-02-23 07:37:08
【问题描述】:

我有一个列表视图,显示用户添加的配置文件列表。如果不存在配置文件,我将列表视图可见性设置为“已消失”。

我在列表视图上有一个上下文菜单,允许用户删除配置文件。执行此操作时,我会显示一个对话框窗口以确认他们要删除配置文件。

如果用户通过触摸按钮在对话框中选择“是”,则一切正常。

如果用户使用轨迹球选择“是”,然后触摸屏幕,应用就会崩溃。

我可以通过注释掉将列表视图可见性设置为“已消失”的代码行来防止崩溃。我很好奇导致崩溃的原因(想了解)。

这个错误对我来说似乎具有误导性,即: java.lang.IllegalStateException:适配器的内容已更改,但 ListView 没有收到通知。确保适配器的内容不是从后台线程修改的,而只是从 UI 线程修改的

【问题讨论】:

  • 为什么有人会否决这个并且不提供任何解释?我的问题还不够清楚吗?

标签: android dialog illegalstateexception trackball


【解决方案1】:

ListView 正在使用的适配器只需要被通知数据已更改(notifyDataSetChanged())。仍然不确定为什么使用轨迹球与触摸的行为不同,但我现在对适配器的工作原理有了更好的了解。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-28
    • 2015-02-17
    • 1970-01-01
    • 2010-10-29
    • 2011-03-26
    • 1970-01-01
    • 2011-11-13
    • 2020-10-27
    相关资源
    最近更新 更多