想要将列表滚动到特定位置

时间:2019-10-04 11:04:08

标签: android

我们可以在android中单击按钮时根据项目名称滚动列表视图吗? 就像我有多个标题的列表,我想在单击按钮时将列表滚动到该标题。

4 个答案:

答案 0 :(得分:0)

用于滚动到任何位置X:

getListView().setSelection(X);

平滑滚动到指定的适配器位置。

smoothScrollToPosition(int position)

答案 1 :(得分:0)

如果您使用的是Recyclerview,请尝试

yourRecyclerview.scrollToPosition(position);

如果您使用的是ListView,请尝试

// For smooth scroll:
getListView().smoothScrollToPosition(position);

//For direct scroll
getListView().setSelection(position);

答案 2 :(得分:0)

这将滚动到该位置。但是您必须找到搜索项目的位置

getListView().smoothScrollToPosition(position);

答案 3 :(得分:0)

您可以使用以下功能按名称获取列表位置。

@Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof YourModel)) return false;
        YourModel that = (YourModel) o;
        return Objects.equals(itemName, that.itemName);
    }

之后,您可以使用scrollToPosition(position);滚动到特定位置;