【发布时间】:2010-10-14 19:26:09
【问题描述】:
我一直在弄乱我的 ListActivity 的 ListView 的一些布局,发现了一个问题:
当我单击一个列表项时,它会启动一个新活动。不幸的是,当我点击返回按钮回到我的 ListActivity 时,ListView 的滚动条一直在顶部。
过去,当我单击后退按钮时,用户会滚动到列表中的相同位置,就像他们选择列表项以启动新屏幕之前一样。
我很确定我已经删除了我更改的所有代码,但问题仍然存在。有什么想法吗?
【问题讨论】:
我一直在弄乱我的 ListActivity 的 ListView 的一些布局,发现了一个问题:
当我单击一个列表项时,它会启动一个新活动。不幸的是,当我点击返回按钮回到我的 ListActivity 时,ListView 的滚动条一直在顶部。
过去,当我单击后退按钮时,用户会滚动到列表中的相同位置,就像他们选择列表项以启动新屏幕之前一样。
我很确定我已经删除了我更改的所有代码,但问题仍然存在。有什么想法吗?
【问题讨论】:
如果您在代码中点击创建,您的列表很可能会重新创建,因此不会保存位置。尝试在 ListActivity 中旋转设备(滚动到中间并旋转),看看是否有问题。我会缓存列表的位置并将列表滚动到它。 此类事情的示例: http://developer.android.com/resources/tutorials/notepad/notepad-ex3.html
【讨论】:
我知道为什么会这样了
@Override public void onStop() {
super.onStop();
if (mCursor != null) {
mCursor.close();
mCursor = null;
}
mAdapter.changeCursor(null);
}
有人告诉我这是我“应该”做的事情。我想我能理解为什么。但是,它会导致我在这里看到的不良行为。
【讨论】: