繁体   English   中英

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

[英]Problems about ListActivity, cursor and SQL data update

目前我正在使用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时,ListView变空。 有没有人对这个问题有任何想法? 谢谢。

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

一张图片胜过千言万语: 活动生命周期

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM