尝试调用虚拟方法';android.view.view android.view.view.findViewById(int)和#x27;关于空对象引用

尝试调用虚拟方法';android.view.view android.view.view.findViewById(int)和#x27;关于空对象引用,android,listview,android-fragments,nullpointerexception,Android,Listview,Android Fragments,Nullpointerexception,我在logcat中有个错误 java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference 试图查看列表中的图片,请为此代码创建一个类 我认为方法视图getView中存在错误,但我不知道它到底在哪里,我认为可能在缩略图的定义中 public class userad

我在logcat中有个错误

java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference
试图查看列表中的图片,请为此代码创建一个类 我认为方法视图getView中存在错误,但我不知道它到底在哪里,我认为可能在缩略图的定义中

public class useradaptor extends BaseAdapter {


             private Activity activity;
             private LayoutInflater inflater;
             private List<user> userItems;

ImageLoader imageLoader = AppController.getInstance().getImageLoader();

public useradaptor(Activity activity, List<user> userItems) {
    this.activity = activity;
    this.userItems = userItems;
}

@Override
public int getCount() {
    return userItems.size();
}

@Override
public Object getItem(int location) {
    return userItems.get(location);
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    user u = userItems.get(position);
    if (imageLoader == null)
        imageLoader = AppController.getInstance().getImageLoader();
    NetworkImageView thumbNail = (NetworkImageView) convertView.findViewById(R.id.imageview);
    thumbNail.setImageUrl(u.getPicture(), imageLoader);

    Cache cache = AppController.getInstance().getRequestQueue().getCache();
    Cache.Entry entry = cache.get(u.getPicture());
    if(entry != null){
        try {
            String data = new String(entry.data, "UTF-8");
            // handle data, like converting it to xml, json, bitmap etc.,
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    }else{
        // cached response doesn't exists. Make a network call here
    }
    return convertView;
  }
}
公共类UserAdapter扩展了BaseAdapter{
私人活动;
私人充气机;
私人物品清单;
ImageLoader ImageLoader=AppController.getInstance().getImageLoader();
公共用户适配器(活动,列出用户项){
这个。活动=活动;
this.userItems=userItems;
}
@凌驾
public int getCount(){
返回userItems.size();
}
@凌驾
公共对象getItem(int位置){
返回userItems.get(位置);
}
@凌驾
公共长getItemId(int位置){
返回位置;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
用户u=userItems.get(位置);
如果(imageLoader==null)
imageLoader=AppController.getInstance().getImageLoader();
NetworkImageView缩略图=(NetworkImageView)convertView.findViewById(R.id.imageview);
setImageUrl(u.getPicture(),imageLoader);
缓存缓存=AppController.getInstance().getRequestQueue().getCache();
Cache.Entry=Cache.get(u.getPicture());
if(条目!=null){
试一试{
字符串数据=新字符串(entry.data,“UTF-8”);
//处理数据,如将其转换为xml、json、位图等。,
}捕获(不支持的编码异常e){
e、 printStackTrace();
}
}否则{
//缓存的响应不存在。请在此处进行网络调用
}
返回视图;
}
}

convertView
如果
列表视图
没有行可供回收,则该视图将为
null
。当
convertView
null
时,您需要通过各种方式创建一个列表行。通常,您使用
LayoutInflater
,最好是在
活动中调用
getLayoutInflater()
得到的