我知道很多人已经厌倦了与nullpointerexception相关的问题,所以我一次又一次地想是否要问这个问题。我读了一小时的以下短代码,我仍然无法弄清楚为什么会抛出nullpointerexception ..
这是ImageAdapter类..
public class ImageAdapter extends BaseAdapter {
private Context mContext;
private LayoutInflater mInflater;
public ImageAdapter(Context context) {
mInflater = LayoutInflater.from(context);
mContext = context;
}
@Override
public int getCount() {
return mThumbIds.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(convertView == null) {
convertView = mInflater.inflate(R.layout.dialog_addprofile, null);
convertView.setLayoutParams(new GridView.LayoutParams(90, 90));
holder = new ViewHolder();
holder.title = (TextView) convertView.findViewById(R.id.categoryText);
holder.icon = (ImageView) convertView.findViewById(R.id.categoryimage);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.icon.setAdjustViewBounds(true);
holder.icon.setScaleType(ImageView.ScaleType.CENTER_CROP);
holder.icon.setPadding(8, 8, 8, 8);
holder.title.setText(categoryContent[position]);
holder.icon.setImageResource(mThumbIds[position]);
return convertView;
}
class ViewHolder {
TextView title;
ImageView icon;
}
private Integer[] mThumbIds = {
android.R.drawable.ic_menu_gallery, android.R.drawable.ic_menu_camera
};
private String[] categoryContent = {
"Gallery", "Camera"
};
}
这里是logcat的一部分。
java.lang.NullPointerException
at com.marshall.thequizshow.ui.adapter.ImageAdapter.getView(ImageAdapter.java:56)
根据logcat,getView方法中if-else语句下面的结尾部分似乎有问题。我真的很难弄清楚应该修复什么,但我还是输了。有人请帮帮我吗?
答案 0 :(得分:0)
在constructor
inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);