我面对解决这个问题几天我在json中声明数组。在这段代码中,错误显示不兼容的类型:EventDescriptionData不能转换为列表,即setAdapter我不能传递适当的参数。请大家帮帮我。
public class MainActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_event_layout);
}
@Parcel
public static class EventDescriptionData {
/* Data for Pre Event Ticket Crausal Card */
@SerializedName("children")
public List<carouselImage> mPreEventCrausal;
}
@Parcel
public static class carouselImage {
@SerializedName("src")
public String mImgSrc;
}
}
public class CardPreEventDhamakaView extends LinearLayout {
private CardPreEventDhamakaView(final Context context, MainActivity .EventDescriptionData eventData) {
super(context);
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.cardview_preevent_dhamaka, this, true);
CardView view = (CardView) findViewById(R.id.cardPreEventParentView);
Gallery gallery = (Gallery) findViewById(R.id.cardPreEventgallery);
gallery.setAdapter(new CardPreEventDhamakaViewData(getContext(), eventData));
}
public static class CardPreEventDhamakaViewData extends BaseAdapter {
private Context mContext;
private List<MainActivity.EventDescriptionData> mCardData;
public CardPreEventDhamakaViewData(Context context , List<MainActivity.EventDescriptionData> eventData)
{
mContext=context;
mCardData = eventData;
}
public int getCount() {
return mCardData.size();
}
@Override
public Object getItem(int i) {
return i;
}
public long getItemId(int i) { return i; }
public View getView(int i, View view, ViewGroup viewGroup) {
ImageView imageView = new ImageView(mContext);
Picasso.with(mContext).load(mCardData.get(i).mPreEventCrausal.get(i).mImgSrc)
.placeholder(R.drawable.placeholder_carousel).into(imageView);
imageView.setAdjustViewBounds(true);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setLayoutParams(new Gallery.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
return imageView;
}
}
}
EventDescriptionData public List mPreEventCrausal是carouseImage的集合。要么将此列表作为参数传递给基本适配器,要么创建PreEventDetailsActivity的集合。EventDescriptionData并传递列表。
public CardPreEventDhamakaViewData(Context context , List<PreEventDetailsActivity.EventDescriptionData> eventData) --> no where you are creating a list of EventDescriptionData objects.