ListView Adapterの簡単な使用

2480 ワード

前言:ListViewは「古い」リストビューの実装案であり、RecyclerViewという短文を使用することをお勧めします.アンドロイドを初心者の開発者に適しています.
package you package name;

import android.content.Context;
import android.text.format.Formatter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.mobileplayer.R;
import com.bobo.mobileplayer.domain.MediaItem;
import com.bobo.mobileplayer.utils.Utils;

import java.util.ArrayList;

/**
 * Created by Leon on 2015/1/7.
 * Functions: VideoPager    
 */
public class VideoPagerAdapter extends BaseAdapter {

    private final boolean isVideo;
    private Context context;
    private final ArrayList mediaItems;
  

   /**
     *                   
     */
    public VideoPagerAdapter(Context context, ArrayList mediaItems,boolean isVideo) {
            this.context = context;
            this.mediaItems = mediaItems;
            this.isVideo = isVideo;
    }

    @Override
    public int getCount() {
        return mediaItems.size();
    }

    @Override
    public Object getItem(int i) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHoder viewHoder;
        if (convertView == null){
            convertView = View.inflate(context,   item    , null);
            viewHoder = new ViewHoder();
            viewHoder.iv_icon = (ImageView)convertView.findViewById(R.id.iv_icon);
            viewHoder.tv_name = (TextView)convertView.findViewById(R.id.tv_name);
            viewHoder.tv_time = (TextView)convertView.findViewById(R.id.tv_time);
            viewHoder.tv_size = (TextView)convertView.findViewById(R.id.tv_size);

            convertView.setTag(viewHoder);
        }else {
            viewHoder = (ViewHoder)convertView.getTag();
        }
        //  position            
        MediaItem mediaItem = mediaItems.get(position);
        viewHoder.tv_name.setText(mediaItem.getName());
        viewHoder.tv_size.setText(Formatter.formatFileSize(context,mediaItem.getSize()));
        viewHoder.tv_time.setText(mediaItem.getDuration()));

        return convertView;
    }

    static class ViewHoder{
        ImageView iv_icon;
        TextView tv_name;
        TextView tv_time;
        TextView tv_size;
    }
}