我一直在搞乱ListActivity的ListView的一些布局,发现了一个问题:
当我点击列表项时,它会启动一个新的Activity。不幸的是,当我单击后退按钮返回我的ListActivity时,ListView的滚动条一直在顶部。
过去,当我点击后退按钮时,用户将滚动到列表中的相同位置,就像他们选择列表项目以启动新屏幕之前一样。
我很确定我已经删除了所有已更改的代码,但问题仍然存在。有什么想法吗?
答案 0 :(得分:0)
如果您在代码中进行创建,则很可能会重新创建列表,因此不会保存位置。尝试在ListActivity中旋转设备(滚动到中间并旋转),看看是否看到问题。我将缓存列表的位置并将List滚动到它。 这样的事情的例子: http://developer.android.com/resources/tutorials/notepad/notepad-ex3.html
答案 1 :(得分:0)
我弄清楚为什么会发生这种情况
@Override public void onStop() {
super.onStop();
if (mCursor != null) {
mCursor.close();
mCursor = null;
}
mAdapter.changeCursor(null);
}
我被告知这是我“应该”做的事情。我想我能明白为什么。但是,它会导致我在这里看到的不良行为。