星空网 > 软件开发 > 操作系统

自定义ListView适配器

继承BaseAdapter类

覆盖以下4个方法:

@Override  public int getCount() {    return users.size();  }  @Override  public Object getItem(int position) {    return users.get(position);  }  @Override  public long getItemId(int position) {    return ((User)getItem(position)).getId();  }  @Override  public View getView(int position, View convertView, ViewGroup parent) {    if(convertView==null){      convertView=inflater.inflate(resouce, null);    }    //获取相应控件    TextView id=(TextView) convertView.findViewById(R.id.user_id);    TextView name=(TextView) convertView.findViewById(R.id.user_name);    TextView phone=(TextView) convertView.findViewById(R.id.user_phone);        User user= (User) getItem(position);    //绑定数据    id.setText(String.valueOf(user.getId()));    name.setText(user.getName());    phone.setText(user.getPhone());    return convertView;  }

以上代码实现简单的ListView的适配器,

getCount()获取当前数据的总条数

getItem()根据POSITION获取具体能获取数据的对象

getItemId()根据POSITION获取具体能获取数据的ID

getView()根据POSITION和convertView得到绑定数据后的Item的View对象

 

对于其中的getView()方法可以涌过以下方式进行稍微优化

public View getView(int position, View convertView, ViewGroup parent) {    if(convertView==null){      convertView=inflater.inflate(resouce, null);      //缓存控件对象      viewControl views=new viewControl();      views.id=(TextView) convertView.findViewById(R.id.user_id);      views.name=(TextView) convertView.findViewById(R.id.user_name);      views.phone=(TextView) convertView.findViewById(R.id.user_phone);      convertView.setTag(views);    }    viewControl views= (viewControl) convertView.getTag();    User user= (User) getItem(position);    views.id.setText(String.valueOf(user.getId()));    views.name.setText(user.getName());    views.phone.setText(user.getPhone());    return convertView;  }    private final class viewControl{    public TextView id;    public TextView name;    public TextView phone;  }

个人理解:

适配器其实就和计算机网络里的适配器一样,一种能揉和两种有一定关联却不能直接简单的接在一起的东西。在这里就是承担着将数据与控件绑定的功能。




原标题:自定义ListView适配器

关键词:ie

ie
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

人民币跨境支付系统升级:https://www.ikjzd.com/articles/628
亚马逊英国站多账号KYC审核的建议:https://www.ikjzd.com/articles/6289
如何通过数据分析,大卖爆单?:https://www.ikjzd.com/articles/629
时尚用品报告:11个国家的Pinterest用户搜索最多的时尚用品!:https://www.ikjzd.com/articles/6292
收藏亚马逊Reviewer的玩法 --- 建立自己的御用Reviewer军团:https://www.ikjzd.com/articles/6293
亚马逊数据选品五大招:https://www.ikjzd.com/articles/6297
小米SU7的不甘心全写进了 “周边”的商品链接里 :https://www.kjdsnews.com/a/1836549.html
10天涨粉300+万 “王婆说媒”凭什么一夜爆红? :https://www.kjdsnews.com/a/1836550.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流