Android视频播放项目总结之 适配器绑定视频信息列表显示到界面(适配器简单优化)

来源:互联网 发布:sql登录界面接口源代码 编辑:程序博客网 时间:2024/06/01 09:02

<span style="font-size:18px;">public class MyBaseAdapter extends BaseAdapter {    List<VideoItem> mydata;    Context         context;    LayoutInflater  inflater;    Utils           utils = null;    /**     * 构造方法用来传递数据     *      */    public MyBaseAdapter(List<VideoItem> mydata, Context context) {        this.mydata = mydata;        this.context = context;        utils = new Utils();    }    /**     * 需要返回 集合中 数据的个数     *      */    @Override    public int getCount() {        return mydata.size();    }    /**      * position 位置上  绑定的数据     *      */    @Override    public Object getItem(int position) {        // TODO Auto-generated method stub        return mydata.get(position);    }    @Override    public long getItemId(int position) {        return position;    }    /**       * 返回一个 绑定好数据的 条目对象 (视图对象)     *      */    @Override    public View getView(int position, View convertView, ViewGroup parent) {        View view;        ViewHolder holder;        if (convertView != null) {            view = convertView;            holder = (ViewHolder) view.getTag();        } else {            //获得布局填充器对象            inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);            //把布局转化成布局对象            view = inflater.inflate(R.layout.activity_videolist_items, null);            holder = new ViewHolder();            //找到布局对象中的控件             holder.videolist_items_iv_name = (TextView) view                .findViewById(R.id.videolist_items_iv_name);            holder.videolist_items_iv_duration = (TextView) view                .findViewById(R.id.videolist_items_iv_duration);            holder.videolist_items_iv_size = (TextView) view                .findViewById(R.id.videolist_items_iv_size);            view.setTag(holder);        }        //找到数据        VideoItem item = mydata.get(position);        String name = item.getName().toString();        String duration = utils.stringForTime((int) item.getDuration());//转化成时分        String size = Formatter.formatFileSize(context, item.getSize());//转化成M        //        //把数据放到控件上        holder.videolist_items_iv_name.setText(name);        holder.videolist_items_iv_duration.setText(duration);        holder.videolist_items_iv_size.setText(size);        return view;    }    /**     * 把控件保存在ViewHolder类的成员变量中,不需要重复在初始化     */    static class ViewHolder {        TextView videolist_items_iv_name;        TextView videolist_items_iv_duration;        TextView videolist_items_iv_size;    }}</span>


这种绑定数据的写法,效率很高,所以我单独写了一个例子代码地址:

http://download.csdn.net/detail/zhaihaohao1/8651129



0 0
原创粉丝点击