从位置获取 recyclerView 项目

Get recyclerView item from possition

提问人:HanS 提问时间:8/3/2023 更新时间:8/3/2023 访问量:38

问:

我正在创建一个包含回收器视图的应用程序,用户可以添加任意数量的项目。有没有办法根据其位置在任何活动中获取这些物品之一?

在适配器中的 BindViewHolder 上:

holder.tvName.setText(list.get(possition).getName);
holder.tvNumber.setText(list.get(possition).getNumber);

假设列表包含 10 个项目,我想从列表中获取第三个位置的名称

我该怎么做?

我尝试在没有位置的情况下获取值,它得到最后一个值

爪哇岛 人造人 列表 android-recyclerview 适配器

评论


答:

0赞 Mohammad 8/3/2023 #1

您可以简单地为项目列表定义一个静态字段(变量)。并在适配器中编写一个静态方法,该方法采用一个位置并逐个位置返回一个项目。 请注意,首先必须通过适配器中的列表初始化静态变量。

例如:

private static list ArrayList<Item>;
...
//write the below code in the adapter. you can write it in constructor or write it in a setter method that you will write or any else where!
list = // assign your items list to this variable (initializing and assigning)
...
public static Item getItemByPosition(int position){
        return list.get(position);
}

在任何活动中都像下面这样使用它:

Item myItem = YourAdapter.getItemByPosition(3);
String myName = myItem.getName();

评论

0赞 HanS 8/4/2023
它有效,非常感谢