2016-10-29 26 views
-2

我在logcat的错误调用虚拟方法android.view.View android.view.View.findViewById(int)的'尝试上的空对象引用

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; 
    } 
} 

回答

1

convertViewnull如果有没有排为ListView为您提供回收。当convertViewnull时,您需要通过某种方法创建列表行。通常情况下,您使用LayoutInflater,最好通过Activity上的getLayoutInflater()获得。

相关问题