支持ListActivity导致不良行为

时间:2010-10-14 19:26:09

标签: android listview scroll

我一直在搞乱ListActivity的ListView的一些布局,发现了一个问题:

当我点击列表项时,它会启动一个新的Activity。不幸的是,当我单击后退按钮返回我的ListActivity时,ListView的滚动条一直在顶部。

过去,当我点击后退按钮时,用户将滚动到列表中的相同位置,就像他们选择列表项目以启动新屏幕之前一样。

我很确定我已经删除了所有已更改的代码,但问题仍然存在。有什么想法吗?

2 个答案:

答案 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);
}

我被告知这是我“应该”做的事情。我想我能明白为什么。但是,它会导致我在这里看到的不良行为。