从数据列表中查找RecyclerView中项目的位置

问题描述 投票:6回答:1

我想从RecyclerView的数据集中获取RecyclerView中项目的位置。我的数据集中的每个项目都包含唯一的ID。我想在RecyclerView中找到与数据集中的id对应的项的适配器位置。

我的数据集类如下所示。

class dataset {
    int id;
    JSONArray linked;
    int type;
    ....
}

我根据类型将TextViewEditText添加到RecyclerView

最终目标:我的RecyclerView可以有多个独立的EditTextTextViews(虽然TextView将有一个字段,其中有与之相关的EditText的id)。当我点击TextView时,我将获得EditText(数据集)的id以从中获取数据。我想从EditText中的项目中获取相应RecyclerView的文本。如果我可以从数据集中获取适配器位置,我可以使用

recyclerview.getChildAt(position);

但是没有办法从数据集中获取适配器位置。

java android android-recyclerview recycler-adapter
1个回答
1
投票
Hashmap<Integer,Integer> map = new Hashmap<>();
ArrayList<dataset> main_list ; // it contains all objects of dataset

for(int i = 0; i < main_list.size(); i++) {
    int id = main_list.get(i).getId(); // id of the model
    map.put(id, i); // i is the position of adapter
}

地图包含适配器位置以及每个模型的ID。

© www.soinside.com 2019 - 2024. All rights reserved.