您的位置:首页 > 移动开发 > Android开发

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

2015-05-01 07:37 681 查看
<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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐