Я создаю массив изображения: (logos.xml)
<integer-array name="icons"><Item>@drawable/pic_01 to @drawable/pic_04<item>
Затем в моем классе Function: у меня есть
public Function(String name , int icon) { this.icon = icon }
public void getIcon() { return icon; }
Final, в FunctionAdapter я получаю Imageview
punlic FunctionAdapter(Context context) { icons = context.getResources().getIntArray(R.array.icons);
мой вопрос в onBindViewHolde (держатель @NonNull FunViewHolder, позиция int)
holder.itemImageView.setImageResource(icons[position])
не работает, я хочу знать, что мне не хватает?Спасибо Помощь.
Я хочу изменить свой ImageView (от pic1 до pic4)
мой адаптер:
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} ;
тогда, картинки будут меняться.