我想从RecyclerView
的数据集中获取RecyclerView
中项目的位置。我的数据集中的每个项目都包含唯一的ID。我想在RecyclerView
中找到与数据集中的id对应的项的适配器位置。
我的数据集类如下所示。
class dataset {
int id;
JSONArray linked;
int type;
....
}
我根据类型将TextView
或EditText
添加到RecyclerView
。
最终目标:我的RecyclerView
可以有多个独立的EditText
和TextViews
(虽然TextView
将有一个字段,其中有与之相关的EditText
的id)。当我点击TextView
时,我将获得EditText
(数据集)的id以从中获取数据。我想从EditText
中的项目中获取相应RecyclerView
的文本。如果我可以从数据集中获取适配器位置,我可以使用
recyclerview.getChildAt(position);
但是没有办法从数据集中获取适配器位置。
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。