Question

I have no idea about how to load images from adapter class also posted previously but i didn't get any help with the code solving the issue please help me with the code through async please someone if knows the solution. Its been two days am struggling with the same issue.

public class NewsRowAdapter extends ArrayAdapter {

    /*private DisplayImageOptions options;

    ImageLoader imageLoader;*/

    Bitmap bitmap = null;

    private Activity activity;

    private List<Item> items;

    private Item objBean;

    private int row;

    public NewsRowAdapter(Activity act, int resource, List<Item> arrayList) 
    {

        super(act, resource, arrayList);

        this.activity = act;

        this.row = resource;

        this.items = arrayList;

        /*options = new DisplayImageOptions.Builder().showStubImage(R.drawable.blank).showImageForEmptyUrl(R.drawable.blank).cacheInMemory().cacheOnDisc().build();

        imageLoader = ImageLoader.getInstance();
                */


    }




    @Override
    public View getView(final int position, View convertView, ViewGroup parent)
    {
        View view = convertView;

        final ViewHolder holder;

        if (view == null) 
        {

            LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

            view = inflater.inflate(row, null);

            holder = new ViewHolder();

            view.setTag(holder);

        } else 
        {
            holder = (ViewHolder) view.getTag();
        }

        if ((items == null) || ((position + 1) > items.size()))

            return view;

        objBean = items.get(position);

        holder.tvTitle = (TextView) view.findViewById(R.id.tvtitle);

        holder.tvDesc = (TextView) view.findViewById(R.id.tvdesc);

        holder.tvDate = (TextView) view.findViewById(R.id.tvdate);

        holder.imgView = (ImageView) view.findViewById(R.id.image);

        holder.pbar = (ProgressBar) view.findViewById(R.id.pbar);

        if (holder.tvTitle != null && null != objBean.getTitle() && objBean.getTitle().trim().length() > 0) 
        {
            holder.tvTitle.setText(Html.fromHtml(objBean.getTitle()));
        }
        if (holder.tvDesc != null && null != objBean.getDesc() && objBean.getDesc().trim().length() > 0)
        {
            holder.tvDesc.setText(Html.fromHtml(objBean.getDesc()));
        }
        if (holder.tvDate != null && null != objBean.getPubdate() && objBean.getPubdate().trim().length() > 0)
        {
            holder.tvDate.setText(Html.fromHtml(objBean.getPubdate()));
        }
        if (holder.imgView != null) 
        {
            if (null != objBean.getLink() && objBean.getLink().trim().length() > 0) 
            {
                final ProgressBar pbar = holder.pbar;

                pbar.setVisibility(View.INVISIBLE);


                //---------CHANGES MADE FOR LOADING IMAGE----------//

                Log.d("IMAGE NULL----------", objBean.getLink());







                class ImageLoading extends AsyncTask<String, Void, Bitmap>
                {



                    @Override
                    protected Bitmap doInBackground(String... urls) 
                    {


                        return null;
                    }

                    @Override
                    protected void onPostExecute(Bitmap result) 
                    {

                        super.onPostExecute(result);
                    }






                }



                /*imageLoader.init(ImageLoaderConfiguration.createDefault(activity));


                {
                    imageLoader.displayImage(objBean.getLink(), holder.imgView, options, new ImageLoadingListener()
                    {
                                @Override
                                public void onLoadingComplete() 
                                {
                                    pbar.setVisibility(View.INVISIBLE);

                                }

                                @Override
                                public void onLoadingFailed() 
                                {
                                    pbar.setVisibility(View.INVISIBLE);
                                }

                                @Override
                                public void onLoadingStarted()
                                {
                                    pbar.setVisibility(View.VISIBLE);

                                }
                    });
                } */




            } else 
            {
                holder.imgView.setImageResource(R.drawable.ic_launcher);
            }
        }




        return view;
    }







    public class ViewHolder
    {
        public TextView tvTitle, tvDesc, tvDate;

        public ImageView imgView;

        public ProgressBar pbar;

    }

}
Was it helpful?

Solution

Check this for creating custom ListView & for image loading try LazyList.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top