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

  • 10ビューで2行OK

  • 4 つのビューを含む 3 行は正しくありません: 4 つ
    のビューではなく、1 つのビューを含む 1 つの行を表示しています

リストをスクロールするたびに、その動的ビューは行に対して持続しません。

あなたの提案は高く評価されます、ありがとう。

4

0 に答える 0