Android 返回到ListActivity会导致不良行为

Android 返回到ListActivity会导致不良行为,android,listview,scroll,Android,Listview,Scroll,我一直在修改ListActivity的ListView的一些布局,发现了一个问题: 单击列表项时,它将启动一个新活动。不幸的是,当我单击“上一步”按钮返回我的ListActivity时,ListView的滚动条一直位于顶部 过去,当我单击“后退”按钮时,用户将滚动到列表中与选择列表项启动新屏幕之前相同的位置 我很确定我已经删除了所有修改过的代码,但问题仍然存在。有什么想法吗?如果您在代码中点击“创建”,则很可能会重新创建列表,因此不会保存位置。尝试在ListActivity中旋转设备,滚动到中间

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

单击列表项时,它将启动一个新活动。不幸的是,当我单击“上一步”按钮返回我的ListActivity时,ListView的滚动条一直位于顶部

过去,当我单击“后退”按钮时,用户将滚动到列表中与选择列表项启动新屏幕之前相同的位置


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

如果您在代码中点击“创建”,则很可能会重新创建列表,因此不会保存位置。尝试在ListActivity中旋转设备,滚动到中间并旋转,看看是否看到问题。我会缓存列表的位置并滚动列表。 例如:

我弄明白了为什么会发生这种情况

    @Override public void onStop() {
    super.onStop();
    if (mCursor != null) {
        mCursor.close();
        mCursor = null;
    }
    mAdapter.changeCursor(null);
}

有人告诉我这是我应该做的事。我想我能理解为什么。但是,它会导致我在这里看到的不受欢迎的行为。

我只点击了onCreate一次。当我回击第二个活动时,由于ListView的前一个活动没有被销毁,它被带到堆栈的顶部。以前,ListView的滚动条是我留下的。现在它位于顶部:\n我不应该缓存掉这个位置,因为Android应该为我处理这个问题。很明显,我做了一些事情把事情搞砸了,但我不知道是什么:\