安卓 ListView : How to keep the ListView at the top when its content changes?

标签 android android-listview simplecursoradapter android-cursor

我有一个包含绑定(bind)到游标适配器的 ListView 的 View 。当光标内容发生变化时,我想将 ListView 保留在顶部,然后在我添加的自定义光标适配器中:

@Override
protected void onContentChanged() {
    // ...
    myListView.scrollTo(0, 0);
}

但这行不通。然后我在某个地方读到像这样排队这个 Action :

myListView.post(new Runnable() {
    public void run() {
        myListView.scrollTo(0, 0);
    }
});

但这也不起作用。

当内容发生变化时,如何让 ListView 保持在顶部?

编辑:

只是为了尝试,我添加了一个按钮并在其 onClickListener 中调用了 scrollTo(),但它没有用!我错过了什么?

最佳答案

代替 scrollTo,尝试使用 setSelection(0) 来到达 ListView 的顶部位置。

关于安卓 ListView : How to keep the ListView at the top when its content changes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12491855/

相关文章:

android - 如何编辑和更新 Recyclerview 项目?

java - 检测 Activity 何时发生变化

Android - ListView 中项目的进入动画

java - 自定义 ListView 适配器中的 NullPointer 异常

java - Android SimpleCursorAdapter 保持滚动样式

android - 在 actionbarsherlock 中单击选项卡时调用新的 Activity 类

android - 无法解析 Android 应用程序模块的 Gradle 配置。解决 gradle 构建问题和/或重新同步。?

java - 自定义布局的 UnsupportedOperationException

android - 带有 CursorLoader 和 SimpleCursorAdapter 的 AutoCompleteTextView

android - ListView 不显示。使用 SherlockFragment 和 SimpleCursorAdapter