没有在应用程序重新启动时调用getView(奇怪的行为)

时间:2014-03-14 18:02:02

标签: android gridview visibility baseadapter

我有一个gridView,我用一个来自网站的jsonObject填充,带有CustomAdapter(baseadapter)。 我正在使用Volley库来管理HTTP请求(就我测试而言,它工作正常)。

启动应用程序时,网格正确填充(50项)。 但是,如果我退出应用程序 - 使用finish() - 然后单击启动器图标,列表将保持为空(http请求成功,但从不调用getView)。

相关说明:

  • 我首先对所有实例都有类似的问题(我通过正确设置gridview容器的可见性解决了这个问题 - 一个RelativeLayout- to VISIBLE)

  • getCount()函数总是返回50个项目(这是正确的值)。

  • 经过一些测试,第二次我启动应用程序gridview容器 - 而gridview本身 - 可见性设置为0(不是我)

  • 所有Android版本都会发生这种情况。

  • 重要提示:如果我强制停止应用程序,然后启动它,内容加载就好(如果清除缓存,则相同)。

问题:

  • 如果getCount()返回50,为什么没有调用getView?

  • 为什么我的元素“消失”,即使我强迫它可见?

现在没有粘贴代码,因为我认为这是一个概念性问题,而不是编码问题。

提前谢谢你,Droiders。

1 个答案:

答案 0 :(得分:0)

我通过在用户退出/完成应用时杀死android进程暂时解决了这个问题,

public void onDestroy() {
    super.onDestroy();
    android.os.Process.killProcess(android.os.Process.myPid());
}

但我并不喜欢这种解决方法。

任何关于如何以更优雅的方式解决问题的建议都将受到赞赏。