я работаю над танком-игрой. В этой игре про танки я хочу отобразить предметы, которые игрок может использовать (шилд, фейерверк, атомная бомба), я хочу реализовать это с помощью списка и массива данных. Я создал настроенный ArrayAdapter, как нашел во многих ответах, но он не работал. Список не существует после того, как я установил адаптер. После отладки проекта я пришел к выводу, что метод getView в классе адаптера не вызывается почему? Это мой класс адаптера
public class Adapter extends ArrayAdapter {
private Context context;
private ArrayList<Item> items;
public Adapter(@NonNull Context context, ArrayList<Item> items) {
super(context, R.layout.listview_item);
this.context = context;
this.items = items;
}
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder = new ViewHolder();
if(convertView == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.listview_item, parent, false);
viewHolder.imageView = convertView.findViewById(R.id.imageView);
convertView.setTag(viewHolder);
}else{
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.imageView.setImageBitmap(items.get(position).getImageView());
return convertView;
}
static class ViewHolder{
ImageView imageView;
}
}
Здесь я хочу установить адаптер
public void createList(ListView listView){
Adapter adapter = new Adapter(context,tanks.get(currentTank).getItems());
listView.setAdapter(adapter);
}