2013-02-08 3 views
-1

이전에 게시 된 어댑터 클래스에서 이미지를로드하는 방법에 대해서는 잘 모릅니다. 문제를 해결하는 코드에 도움이되지 않았습니다. 비동기를 통해 코드를 누군가가 솔루션을 알고 있다면 제발. 그 이틀 동안 똑같은 문제로 어려움을 겪고 있습니다.어댑터에서 이미지를로드하고 텍스트가있는 목록보기에 표시

공용 클래스 NewsRowAdapter는 ArrayAdapter와 {LazyList을 시도 이미지 로딩에 대한 사용자 정의 목록보기 &을 만들기위한

/*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; 

    } 

} 

답변

0

확인 this을 확장합니다.

+0

제발 나를 위해 제발 해결해주세요. 나는 그것을 해결할 방법을 찾지 못했습니다. asynctask를 어댑터 내부에 넣고 getView() 메소드 내부에 넣는 방법. – ayansinha

+0

먼저 사용자 지정 Listview를 만드는 방법을 확인하십시오. – AB1209

+0

좋아, 그래서 백그라운드에서 이미지를로드 할 항아리를 찾아야한다고 생각해. 그리고 예는 텍스트와 이미지가 포함 된 맞춤 목록보기의 몇 가지 예를 보았습니다. – ayansinha