【问题标题】:RecyclerView android: Getting an item at a particular positionRecyclerView android:在特定位置获取项目
【发布时间】:2015-01-20 03:51:20
【问题描述】:

有没有办法在适配器外部的特定位置获取 RecyclerView 的项目。例如在 ListView 中我们可以这样做:

    listView.getItem(position); 

我们可以用 RecyclerView 做到这一点吗?并且提供的数据列表的顺序是否保持?

【问题讨论】:

    标签: android android-listview android-recyclerview


    【解决方案1】:

    您可以将自己的方法添加到 RecyclerView,或者我建议使用 RecyclerView.Adapter 本身。

    例如,对于 ListView,您有:

    @Override
    public Object getItem(int position) {
        return listData.get(position);
    }
    

    您可以将相同的内容添加到您的 RecylcerView.Adapter 或通过向您的 RecylcerView.Adapter 添加一个简单的方法来访问它:

    public List<Model> getList() {
        return this.mModel;
    }
    

    像这样使用它:

    recyclerView.getAdapter().getList().get(position)
    

    【讨论】:

    • 感谢您的回答。我在适配器中有这个方法,但我无法访问它。我尝试将 recyclerView.getAdapter() 转换为我的适配器类,现在我可以访问它了。
    • 我会争辩说,如果你这样做,你会暴露列表,并有可能从外部对其进行修改。更好的方法是只根据 ID 公开元素,如下所示:return this.mModel.get(id)
    猜你喜欢
    • 1970-01-01
    • 2017-08-11
    • 2017-09-28
    • 2016-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    相关资源
    最近更新 更多