首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >android listview数据加载

android listview数据加载

作者头像
码客说
发布2019-10-22 14:15:29
8110
发布2019-10-22 14:15:29
举报
文章被收录于专栏:码客码客

大致思想

private List<ZJLoction> searchListData = new ArrayList<ZJLoction>();
private ListView searchListView;
private AddressSearchAdapter searchAdapter;

如上面代码所示,定义了三个对象 searchListData数据源 searchListView数据显示的地方 searchAdapter连接数据源和展示的桥梁 可以这样比喻 searchListData货源 searchListView货仓 searchAdapter拉货的车 要建立之间的关系就要做如下操作

searchListView = (ListView)findViewById(R.id.address_list_search);
searchAdapter = new AddressSearchAdapter(mAppContext);
searchListView.setAdapter(searchAdapter);

而要更新数据 也就是要通知拉货的车 代码如下

searchAdapter.notifyDataSetChanged();

自定义Adapter

private  class AddressSearchAdapter extends BaseAdapter {

    private final LayoutInflater mInflater;
    private final Context mContext;
    private AddressSearchAdapter(Context context) {
        mContext = context;
        mInflater = LayoutInflater.from(mContext);
    }

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

    @Override
    public Object getItem(int position) {
        return listData.get(position);
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        ZJLoction location = searchListData.get(position);
        AddressItem addressItem = null;
        if(convertView == null){
            convertView = mInflater.inflate(R.layout.address_item,null);
            addressItem = new AddressItem(convertView);
            convertView.setTag(addressItem);
        }else{
            addressItem =  (AddressItem)convertView.getTag();
        }
        addressItem.titleView.setText(location.getName());
        addressItem.detailView.setText(location.getAddress());
        return convertView;
    }
}

private  class AddressItem{

    TextView titleView;
    TextView detailView;
    public AddressItem(View convertView) {
        titleView = (TextView)convertView.findViewById(R.id.address_item_title);
        detailView = (TextView)convertView.findViewById(R.id.address_item_detail);
    }
}

通过判断convertView是否为空来复用

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 大致思想
  • 自定义Adapter
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档