0

I want to parse images from an xml using image loader but in the getView() method i get this error:

java.lang.IllegalArgumentException: view must not be null

this is my getView() method:

 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();
4

2 回答 2

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

        };
于 2014-11-03T11:50:20.030 回答
1

你没有像这样膨胀视图膨胀

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

如果你愿意,我可以发布完整的代码。

于 2014-11-03T11:53:06.260 回答