2014-11-03 3 views
0

Я хочу, чтобы разобрать изображения с XML-с помощью загрузчика изображения, но в методе GetView() я получаю эту ошибку:Ошибка в imageloader в методе GetView

java.lang.IllegalArgumentException: view must not be null

это мой GetView() метод:

final ArrayAdapter<RssItem> adapter = new ArrayAdapter<RssItem>(getActivity(),R.layout.row_site, R.id.nameTxt, result){ 
      public View getView(int position, View convertView, ViewGroup parent) { 

       View view = super.getView(position, convertView, parent); 

       ImageView left = (ImageView)getActivity().findViewById(R.id.img); 
      String bit = result.get(position).getThumb(); 
        //  Picasso.with(getActivity()).load(bit).into(left); 

      DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder() 
         .cacheOnDisc(true).cacheInMemory(true) 
         .imageScaleType(ImageScaleType.EXACTLY) 
         .displayer(new FadeInBitmapDisplayer(300)).build(); 

       ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
         getActivity().getApplicationContext()) 
         .defaultDisplayImageOptions(defaultOptions) 
         .memoryCache(new WeakMemoryCache()) 
         .discCacheSize(100 * 1024 * 1024).build(); 

       ImageLoader.getInstance().init(config); 


       imageLoader = ImageLoader.getInstance(); 
       DisplayImageOptions options = new DisplayImageOptions.Builder().cacheInMemory(true) 
         .cacheOnDisc(true).resetViewBeforeLoading(true) 
         .build(); 
       //imageView.setImageAlpha(120); 
       //imageView.setColorFilter(Color.BLUE, PorterDuff.Mode.LIGHTEN); 

       imageLoader.displayImage(result.get(position).getThumb(), left, defaultOptions); 


       return view; 
      } 

     }; 

     setListAdapter(adapter); 
     ListView list = getListView(); 

ответ

1

попробовать, как это,

final ArrayAdapter<RssItem> adapter = new ArrayAdapter<RssItem>(getActivity(),R.layout.row_site, R.id.nameTxt, result){ 
      public View getView(int position, View convertView, ViewGroup parent) { 

       LayoutInflater inflater = LayoutInflater.from(getActivity()); 
       convertView = inflater.inflate(R.layout.row_site, null, false); 

       ImageView left = (ImageView) convertView.findViewById(R.id.img); 
      String bit = result.get(position).getThumb(); 
        //  Picasso.with(getActivity()).load(bit).into(left); 

      DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder() 
         .cacheOnDisc(true).cacheInMemory(true) 
         .imageScaleType(ImageScaleType.EXACTLY) 
         .displayer(new FadeInBitmapDisplayer(300)).build(); 

       ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
         getActivity().getApplicationContext()) 
         .defaultDisplayImageOptions(defaultOptions) 
         .memoryCache(new WeakMemoryCache()) 
         .discCacheSize(100 * 1024 * 1024).build(); 

       ImageLoader.getInstance().init(config); 


       imageLoader = ImageLoader.getInstance(); 
       DisplayImageOptions options = new DisplayImageOptions.Builder().cacheInMemory(true) 
         .cacheOnDisc(true).resetViewBeforeLoading(true) 
         .build(); 
       //imageView.setImageAlpha(120); 
       //imageView.setColorFilter(Color.BLUE, PorterDuff.Mode.LIGHTEN); 

       imageLoader.displayImage(result.get(position).getThumb(), left, defaultOptions); 


       return convertView; 
      } 

     }; 
1

Вы не Раздувание вид Накачайте как это

LayoutInflater inflater = (LayoutInflater) activity 
        .getSystemService(activity.LAYOUT_INFLATER_SERVICE); 
      rowitems = inflater.inflate(R.layout.transport_list_items, null); 

Если вы хотите, я могу опубликовать полный код.

+0

спасибо большое! это действительно помогло .. –

Смежные вопросы