カスタム アダプターを使用して、画像の URL を使用して画像を表示しました。正常に動作する場合もありますが、getview() が呼び出されない場合もあります。私のコードからエラーが見つかりません。
public class GridViewAdapter extends ArrayAdapter<ListViewVariables> {
private final Activity context;
private final List<ListViewVariables> list;
DisplayImageOptions doption=null;
private ImageLoadingListener animateFirstListener =null;
ImageLoader imageLoader= null;
public GridViewAdapter(Activity context, List<ListViewVariables> list) {
super(context, R.layout.list_layout, list);
this.context = context;
this.list = list;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public ListViewVariables getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
static class ViewHolder {
protected ImageView image;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = null;
if (convertView == null) {
LayoutInflater inflator = context.getLayoutInflater();
view = inflator.inflate(R.layout.list_layout, null);
final ViewHolder viewHolder = new ViewHolder();
viewHolder.image = (ImageView) view.findViewById(R.id.image);
view.setTag(viewHolder);
} else {
view = convertView;
}
ViewHolder holder = (ViewHolder) view.getTag();
imageLoader = ImageLoader.getInstance();
imageLoader.init(ImageLoaderConfiguration.createDefault(context));
imageLoader.displayImage(list.get(position).getImageUrl(), holder.image,doption,animateFirstListener);
return view;
}
画像を表示するために、画像ローダーを使用しており、関数の呼び出しを以下に示します。
list = EventManagementResuableClass.getResponseFromServer(
EventManagenmentConstant.responseStatus_object,
EventActivity.this, jsonObj);
adapter = new GridViewAdapter(EventActivity.this, list);
adapter.clear();
adapter.notifyDataSetChanged();
listView.setAdapter(adapter);
通常、私はリストを取得します。しかし、特定の時間で getview() が実行されないようです。正確な問題は何ですか?