Java 未调用自定义适配器中的getView方法
我在做坦克游戏。在这个坦克游戏中,我想显示玩家可以使用的物品(shild、焰火、atombomb),我想通过listview和arraya dapter实现这一点。我做了一个定制的阵列适配器,就像我在很多答案中发现的那样,但它不起作用。设置适配器后,列表不在那里。调试完项目后,我得出结论,适配器类中的getView方法没有被调用 为什么? 这是我的适配器类Java 未调用自定义适配器中的getView方法,java,android,android-studio,adapter,Java,Android,Android Studio,Adapter,我在做坦克游戏。在这个坦克游戏中,我想显示玩家可以使用的物品(shild、焰火、atombomb),我想通过listview和arraya dapter实现这一点。我做了一个定制的阵列适配器,就像我在很多答案中发现的那样,但它不起作用。设置适配器后,列表不在那里。调试完项目后,我得出结论,适配器类中的getView方法没有被调用 为什么? 这是我的适配器类 public class Adapter extends ArrayAdapter { private Context conte
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;
}
}
公共适配器(@NonNull上下文,ArrayList项){
super(上下文、R.layout.listview_项);
this.context=上下文;
这个项目=项目;
}
请尝试以下操作,而不是此操作:
public MyCustomListAdapter(Context context,int resource, ArrayList<Item> items)
{
super(context,resource,list);
this.context= context;
this.resource=resource;
this.list=list;
}
公共MyCustomListAdapter(上下文上下文、int资源、ArrayList项)
{
超级(上下文、资源、列表);
this.context=context;
这个。资源=资源;
this.list=list;
}
另外,在主类中编写以下代码:
Adapter adapter = new Adapter(context,R.layout.<Thename of your layout>,tanks.get(currentTank).getItems());
Adapter Adapter=新适配器(context,R.layout.,tanks.get(currentTank.getItems());
public MyCustomListAdapter(Context context,int resource, ArrayList<Item> items)
{
super(context,resource,list);
this.context= context;
this.resource=resource;
this.list=list;
}
Adapter adapter = new Adapter(context,R.layout.<Thename of your layout>,tanks.get(currentTank).getItems());