【问题标题】:Backing to ListActivity causing undesirable behavior回到 ListActivity 导致不良行为
【发布时间】:2010-10-14 19:26:09
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: android listview scroll


    【解决方案1】:

    如果您在代码中点击创建,您的列表很可能会重新创建,因此不会保存位置。尝试在 ListActivity 中旋转设备(滚动到中间并旋转),看看是否有问题。我会缓存列表的位置并将列表滚动到它。 此类事情的示例: http://developer.android.com/resources/tutorials/notepad/notepad-ex3.html

    【讨论】:

    • 我只点击了一次 onCreate。当我回击第二个 Activity 时,由于前一个 Activity(带有 ListView)没有被破坏,它被带到了堆栈的顶部。以前,ListView 的滚动是我留下的。现在它在顶部:\ 我不应该缓存这个位置,因为 Android 应该为我处理这个。我显然做了一些事情来搞砸它,但我不知道是什么:\
    【解决方案2】:

    我知道为什么会这样了

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-27
      • 2017-07-13
      • 2013-05-30
      • 1970-01-01
      • 1970-01-01
      • 2010-11-09
      • 1970-01-01
      相关资源
      最近更新 更多