android - 如何在 RecyclerView (Android) 中显示 imageViews
问题描述
我创建了一个图像的数组:(logos.xml)
<integer-array name="icons"><Item>@drawable/pic_01 to @drawable/pic_04<item>
然后,在我的课堂功能:我有
public Function(String name , int icon) { this.icon = icon }
public void getIcon() { return icon; }
最后,在 FunctionAdapter 中,我得到 Imageview
punlic FunctionAdapter(Context context) { icons = context.getResources().getIntArray(R.array.icons);
我的问题是 onBindViewHolde(@NonNull FunViewHolder holder, int position)
holder.itemImageView.setImageResource(icons[position])
不工作,我想知道我想念什么?谢谢帮助。
我的适配器:
public class FunctionAdapter extends RecyclerView.Adapter<FunctionAdapter.FunViewHolder>
{
private final String[] functions;
private final int[] icons;
Context context;
public FunctionAdapter(Context context){
this.context = context;
functions = context.getResources().getStringArray(R.array.functions);
icons = context.getResources().getIntArray(R.array.icons);
}
public FunViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int i) {
View view = LayoutInflater.from(context).inflate(R.layout.group_layout, parent,false);
return new FunViewHolder(view);
}
public void onBindViewHolder(@NonNull FunViewHolder holder, int position) {
holder.nameText.setText(functions[position]);
holder.itemImageView.setImageResource(icons[position]);
}
public int getItemCount() { return functions.length; }
public class FunViewHolder extends RecyclerView.ViewHolder{
TextView nameText;
ImageView itemImageView;
public FunViewHolder(@NonNull View itemView) {
super(itemView);
nameText = itemView.findViewById(R.id.group_title);
itemImageView = itemView.findViewById(R.id.group_logo);
}
}
更新 :
我的错误,logos.xml 可能是问题,但我不知道为什么?
我决定编辑我的图标:
private final int[] icons = new int[]{R.drawable.pic_01, R.drawable.pic_02, R.drawable.pic_03, R.drawable.pic_04} ;
然后,图片会改变。
解决方案
您必须在构造函数上使用 String[] 而不是 String 。
利用
public Function(String[] name , int icon) { this.icon = icon }
代替
public Function(String name , int icon) { this.icon = icon }
推荐阅读
- python - 最多有 K 个元素的最大连续子数组
- php - 在 laravel 查询中获取字段
- hadoop - 在 pyspark 中保存中间表的最佳方法
- python - 如何获取列表中的第一个最大不同元素?
- nginx - 面临 nginx proxy_pass 的问题
- mysql - 在 NodeJS 中调用 MySQL 存储过程,但在 Result number 字段值未正确舍入(Workbench 和 MySQL 控制台中的 Workig 正确)
- postgresql - 通过Postgresql查询在Object的嵌套数组中插入UUID类型的元素
- joomla - Joomla 客户端向控制器发送多个请求
- javascript - 通过比较对象值动态数组中的对象键生成新的对象数组
- powerbi - 如何在 Power Apps 中设置必填字段