[英]notifyDataSetChanged() doesn't work with my adapter for gridview
[英]Android notifyDataSetChanged doesn't work in Gridview
我不知道為什么notifyDataSetChanged
在我的gridview中不起作用。 我的改裝事件onResponse
我調用該方法來刷新我的gridview項,並且沒有任何更改。
改造電話
@Override
public void onResponse(Call<PictureInfos> call, Response<PictureInfos> response) {
PictureInfos infoResponse = response.body();
infoResponse.save();
pictureInfos.add(infoResponse);
adapter.updatePicturesList(pictureInfos);
}
Gridview BaseAdapter
public class ImageAdapter extends BaseAdapter {
private Context mContext;
private LayoutInflater mLayoutInflater;
private List<PictureInfos> mPInfoList;
public ImageAdapter(Context context, List<PictureInfos> pInfoList) {
mContext = context;
mPInfoList = pInfoList;
mLayoutInflater = LayoutInflater.from(context);
Log.v("5", "" + pInfoList.size());
}
public void updatePicturesList(List<PictureInfos> pInfoList) {
mPInfoList = pInfoList;
this.notifyDataSetChanged();
}
@Override
public int getCount() {
return mPInfoList.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View view;
final ImageView imageView;
final TextView legend;
// Soft display
if(convertView == null){
view = mLayoutInflater.inflate(R.layout.thumbnail_gallery, parent, false);
}else{
view = convertView;
}
// Get layout item (Image and Legend)
imageView = (ImageView) view.findViewById(R.id.iv_thumbnail);
legend = (TextView) view.findViewById(R.id.text_thumb);
// Get the download path image
String pic = Globals.SERVER_NAME+Globals
.ACCOUNT_SERVER_PATH+mPInfoList
.get(position).getFolderPath()+"/"+
VgzTools.addSuffix(mPInfoList.get(position).getFilename(), "-thumb");
Glide.with(mContext)
.load(pic)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.into(imageView);
return view;
}
}
您有解決的辦法嗎?
謝謝。
嘗試這個:
@Override
public void onResponse(Call<PictureInfos> call, Response<PictureInfos> response) {
PictureInfos infoResponse = response.body();
pictureInfos.clear();
pictureInfos.addAll(infoResponse);
adapter.notifyDataSetChanged();
}
當您將List<PictureInfos> mPInfoList
定義為final時,您將了解問題所在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.