package com.example.googleplay.ui.holder;
import java.util.ArrayList;
import android.view.View;
import android.widget.ImageView;
import com.example.googleplay.R;
import com.example.googleplay.http.HttpHelper;
import com.example.googleplay.utils.BitmapHelper;
import com.example.googleplay.utils.UIUtils;
import com.lidroid.xutils.BitmapUtils;
public class HomeScreenHolder extends BaseHolder<ArrayList<String>> {
private ImageView[] mImages = null;
private BitmapUtils mBitmapUtils;
@Override
public View initView() {
View view = UIUtils.inflate(R.layout.layout_detail_picinfo);
mImages = new ImageView[5];
mImages[0] = (ImageView) view.findViewById(R.id.iv_pic1);
mImages[1] = (ImageView) view.findViewById(R.id.iv_pic2);
mImages[2] = (ImageView) view.findViewById(R.id.iv_pic3);
mImages[3] = (ImageView) view.findViewById(R.id.iv_pic4);
mImages[4] = (ImageView) view.findViewById(R.id.iv_pic5);
mBitmapUtils = BitmapHelper.getBitmapUtils();
return view;
}
@Override
public void refreshView(ArrayList<String> data) {
for (int i = 0; i < mImages.length; i++) {
if(i>=data.size()){
//多余的图片布局需要隐藏
mImages[i].setVisibility(View.GONE);
}else {
//要显示的图片
mImages[i].setVisibility(View.VISIBLE);
mBitmapUtils.display(mImages[i], HttpHelper.URL + "image?name=" + data.get(i));
}
}
}
}
在refreshView这个方法中mImages报空指针异常,其实是第16行的原因,数组赋值只能一次赋值,赋值之后再赋值无效,应该写成
private ImageView[] mImages;