0

我已经尝试了下面的代码,但它没有按照我的要求正常工作。

我需要的是明智地列出电影日期,所以对象就像

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 个视图

并且每当我滚动列表时,它的动态视图不会持续存在。

您的建议将不胜感激,谢谢。

4

0 回答 0