我已经尝试了下面的代码,但它没有按照我的要求正常工作。
我需要的是明智地列出电影日期,所以对象就像
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
2 行有 10 个视图 ok
3 行有 4 个视图不正常:
它显示 1 行有 1 个视图而不是 4 个视图
并且每当我滚动列表时,它的动态视图不会持续存在。
您的建议将不胜感激,谢谢。