Android中的ListView使用

本文详细介绍如何在Android应用中使用ListView组件,包括创建自定义适配器、实现ListView的基本功能及优化方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

----------2016年10月15日20:37:59


Android中ListView的使用:


1.创建XXXAdapter适配器,继承BaseAdapter,实现4个方法,其中getcount,getview必须实现
getcount:告诉listview要显示的条目数
getview:告诉listview每个条目显示的内容。

2.在XXXAdapter类中需要使用到context和list数据集合,所以要创建构造函数
public NewsAdapter(Context context,ArrayList<NewsBean> list){
this.list = list;
this.context = context;
}

3.getCount方法,listview要显示的条目的数量
public int getCount() {
return list.size();
}

4.getView(),返回返回一个复杂的布局作为条目的内容展示
public View getView(int position, View convertView, ViewGroup parent)



--->实现3和4,在listview中就可以显示内容,如果要实现点击事件,
还需实现getItem(int position)和getItemId(int position)

5.getItem(),根据position获取list中对应的Bean对象
public Object getItem(int position) {
return list.get(position);
}

6.getItemId(),获取条目的id
public long getItemId(int position) {
return position;
}

7.将xml文件转化为一个View对象,调用View的inflate()静态方法
View XXXView = View.inflate(Context context, int resource, ViewGroup root);

-->context:上下文
  resource:要转化为View对象的layout的id
  root:将layout用root(ViewGroup)包一层作为codify的返回值,一般传null

-->获取XXXView对象的子控件
XXXView.findViewById(R.id.xxx);

-->最后给子控件设置内容setxxxx();

8.为条目设置点击事件setOnItemClickListener()

xxxActivity实现OnItemClickListener()接口,重写onItemClick方法。

public void onItemClick(AdapterView<?> parent, View view, int position,long id)

--> parent:代表listviw  
view:点击的条目上的那个view对象   
position:条目的位置  
id: 条目的id

根据条目的位置,获取被点击的条目对象
parent.getItemAtPosition(position);
底层调用adapter.getItem(position),所以要实现adapter的getItem()方法


9.创建Adapter的一个对象,设置给listview。
listview.setAdapter(new XXXAdapter(mContext));


ListView的优化:

1.在实现public View getView(int position, View convertView, ViewGroup parent)方法时,
判断convertView是否为空,为空创建一个View对象,不为空,则复用convertView
2.使用静态类ViewHolder















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值