有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

关于ListActivity、游标和SQL数据更新的java问题

目前我正在使用ListActivity。我使用游标从SQL中获取数据,并根据SQL查询结果构建ListView。对于ListView中的每个对象,如果我按下该对象(onListItemClick),它将更改光标将读取的SQL中的值,并打开一个新的意图。(按不同的对象将更改SQL表中的不同值)。为了使我的ListView保持最新,我使用

//adapter is the SimpleCursorAdapter I use
protected void onListItemClick(ListView l, View view, int position, long id) {
    super.onListItemClick(l, view, position, id);
    //change the data in sql
    ...
    //change the data end
    adapter.changeCursor(dbAdapter.getResult(id));
    adapter.notifyDataSetChanged();
    //create intent here
    //startActivity(intent)
}

问题是,如果我一直按同一个对象,保留它创建的意图,它就可以正常工作。但一旦我在离开之前的意图后按下另一个对象,我的ListView就会变为空。例如,如果我按下对象a,输入意图a,然后我离开意图a,返回列表视图(ListView现在可以了),然后我按下对象b,输入意图b。当我离开意图b时,列表视图变为空。有人知道这个问题吗?多谢各位


共 (1) 个答案

  1. # 1 楼答案

    听起来你的一些数据正在被销毁。我认为,如果您将列表创建代码移动到onResume,您的问题将自行解决,因为每次您返回时列表都会重新生成,而onCreate仅在首次创建活动时完成

    一幅画胜过千言万语: Activity Lifecycle