In the ListView adapter:
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
final DataEntity data = dataList.get(position);
if (convertView == null) {
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.item_list_asset_receivable, null);
holder.amountTV = (TextView) convertView.findViewById(R.id.tv_asset_liability_fill_accounts_receivable_amount);
holder.gridView = (CustomGridView) convertView.findViewById(R.id.cgv_images);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.amountTV.setText(String.valueOf(data.getAmount()));
final String id = data.getPicGroupId();
OkHttpUtilsHelper.getImagesByGroupId(data.getPicGroupId(), TAG)
.execute(new ImageGroup.MyCallback() {
@Override
public void onResult(List<String> images) {
CustomGridViewAdapter adapter = new CustomGridViewAdapter(context, images);
holder.gridView.setAdapter(adapter);
}
});
return convertView;
}
}
In the GridView Adapter, I use glide to load internet images to ImageView:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = inflater.inflate(R.layout.item_gridview_pics, null);
viewHolder.imageView = (ImageView) convertView.findViewById(R.id.iv_pic);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
String imgPath = (String) dataList.get(position);
if (imgPath.startsWith("http")) {
Glide.with(context)
.load(imgPath)
.centerCrop()
.placeholder(R.mipmap.ic_launcher)
.crossFade()
.into(viewHolder.imageView);
} else {
viewHolder.imageView.setImageBitmap(BitmapFactory.decodeFile(imgPath));
}
return convertView;
}
I've solved the problem that ListView with GridView issue like: Add a GridView to a ListView in Android
While according to the log, it seems the gridview adapter's getView() would trigger the listview adapter's getView() backwards, then calls gridview adapter's getview again, a deed loop!
Any suggestions are welcome!