-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;
}
}
제발 나를 위해 제발 해결해주세요. 나는 그것을 해결할 방법을 찾지 못했습니다. asynctask를 어댑터 내부에 넣고 getView() 메소드 내부에 넣는 방법. – ayansinha
먼저 사용자 지정 Listview를 만드는 방법을 확인하십시오. – AB1209
좋아, 그래서 백그라운드에서 이미지를로드 할 항아리를 찾아야한다고 생각해. 그리고 예는 텍스트와 이미지가 포함 된 맞춤 목록보기의 몇 가지 예를 보았습니다. – ayansinha