ListView
に問題があります。ここでは、アダプタのコード:Android ListViewの表示位置が正しくない
public class AdapterListViewEncyclopedia extends ArrayAdapter<Apple> {
private int layoutResourceId;
private Context context;
private List<Apple> data;
private CellHolder holder;
public AdapterListViewEncyclopedia(Context context, int layoutResourceId, List<Apple> data) {
super(context, layoutResourceId, data);
this.layoutResourceId = layoutResourceId;
this.context = context;
this.data = data;
}
static class CellHolder
{
ImageView imageApple;
TextView tvCellAppleName;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent)
{
View row = convertView;
if(row == null)
{
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
holder = new CellHolder();
holder.imageApple = (ImageView) row.findViewById(R.id.imageApple);
holder.tvCellAppleName = (TextView)row.findViewById(R.id.tvAppleName);
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.displayImage(InterfaceConfig.serverURL+data.get(position).getImageURL(), holder.imageApple);
holder.tvCellAppleName.setText(data.get(position).getName());
System.out.println(position);
row.setTag(holder);
}
else
{
holder = (CellHolder)row.getTag();
}
return row;
}
}
主な問題:
1.IはArrayAdapter<Apple>
で10のデータを持っていると私はListView
でページを開くと、私はSystem.out.println
との位置コード、コードのショー0を印刷するとき、1,2,3,4,5,0 2.私がListView
をスクロールすると、隠されているトップとボトムはランダムな位置になります。
誰かが私の問題を解決するのに役立つでしょうか?
あなたのコードを読む を参照してください?もしも... – Selvin
私はなぜその人たちが悪名高いビューホルダーを使っているのか分かりません。 – pskink
@selvin:申し訳ありませんが、私はすでにコードを更新しました。 – Michael