我正在尝试使用wikimediarestapi来检索androidstudio中的“特色图片”。json文件返回 List<Imageinfo>
,其中包含不同类型的数据。下面是我用来获取数据的适配器:
public class ItemTypeAdapter extends RecyclerView.Adapter<ItemTypeAdapter.ItemtypeViewHolder> {
private Context context;
private List<Imageinfo> dataretrivals;
public ItemTypeAdapter(Context context, List<Imageinfo> dataretrivals) {
this.context = context;
this.dataretrivals = dataretrivals;
}
@NonNull
@Override
public ItemtypeViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
View view = layoutInflater.inflate(R.layout.item_type1,parent,false);
return new ItemtypeViewHolder(view);
}
@SuppressLint("SetTextI18n")
@Override
public void onBindViewHolder(@NonNull ItemtypeViewHolder holder, int position) {
Imageinfo data = dataretrivals.get(position);
try{
holder.listView.addView((android.view.View) data.getQuery().getPages().get4406048().getImageinfo());
}
catch (NullPointerException ignored)
{
}
}
public int getItemCount() {
return dataretrivals.size();
}
public class ItemtypeViewHolder extends RecyclerView.ViewHolder
{
TextView title,description;
ImageView image;
ListView listView;
public ItemtypeViewHolder(@NonNull View itemView) {
super(itemView);
title = itemView.findViewById(R.id.imagetitle);
description = itemView.findViewById(R.id.imagediscription);
image = itemView.findViewById(R.id.imagetype1);
listView = itemView.findViewById(R.id.Listview);
}
}
}
这将产生错误
java.lang.ClassCastException:java.util.ArrayList cannot be cast to android.view.View
at com.example.heterogeneousrvdemo.Adapter.ItemTypeAdapter.onBindViewHolder(ItemTypeAdapter.java:42)
at com.example.heterogeneousrvdemo.Adapter.ItemTypeAdapter.onBindViewHolder(ItemTypeAdapter.java:20)
请告诉我如何检索和显示 List<imageinfo>
java中的数据类型。
1条答案
按热度按时间q9rjltbz1#
我相信这会解决你的问题。
请查看此页以了解解决方案:无法在fragment类中获取操作栏