以下のコードを試してみましたが、必要に応じて正しく動作しません。
私が必要とするのは、映画の日付をリストすることです。そのため、オブジェクトは次のようになります
MovieDate{
date
counter
List<Movies> mlist;
}
今使用しBaseAdapter
て、以下のように賢明な映画の日付を表示しようとしました
public class MovieAdapter extends BaseAdapter {
private LayoutInflater inflater;
private LoadImages loadImages;
private List<MovieMonth> list;
public MovieAdapter(Activity context, List<MovieMonth> list) {
super(context,list);
this.inflater = LayoutInflater.from(context);
loadImages = new LoadImages(context);
this.list = list;
}
private class Viewholder {
TextView txtDate;
TextView txtCounter;
private LinearLayout row;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Viewholder mViewholder;
MovieMonth mm = list.get(position);
if (convertView == null) {
convertView = inflater.inflate(R.layout.row, null);
mViewholder = new Viewholder();
mViewholder.row = (LinearLayout) convertView.findViewById(R.id.columnContainer);
mViewholder.txtDate = (TextView) convertView.findViewById(R.id.txtDate);
mViewholder.txtCounter = (TextView) convertView.findViewById(R.id.txtCounter);
for (Movie movie : mm.movieList) {
mViewholder.row.addView(initItemView(movie));
}
convertView.setTag(mViewholder);
}else{
mViewholder = (Viewholder) convertView.getTag();
}
mViewholder.txtDate.setText(mm.releaseDate);
mViewholder.txtCounter.setText(mm.counter);
return convertView;
}
protected View initItemView(Movie movie) {
View v = inflater.inflate(R.layout.item, null);
ImageView img = (ImageView) v.findViewById(R.id.imgView);
img.setImageResource(movie.image);
return v;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 1;
}
}
今問題:(閲覧時間は以下のように表示)
1 ビューで 1 行 OK
10ビューで2行OK
4 つのビューを含む 3 行は正しくありません: 4 つ
のビューではなく、1 つのビューを含む 1 つの行を表示しています
リストをスクロールするたびに、その動的ビューは行に対して持続しません。
あなたの提案は高く評価されます、ありがとう。