2月24日android学习笔记——ListView

ListView
以垂直的形式显示所有的列表项
ListView只是容器,而里面的内容需要Adapter来负责提供每个“列表项”的组件。


在ListView的xml中,可以设置android:entries来指定数组资源来生成ListView,如果没有指定此属性,则需要通过Adapter来提供列表项。


ArrayAdapter:简单、易用的Adapter,通常用于将数组或List集合的多个值包装成多个列表项。
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1);


this代表引用对象,android.R.layout.simple_expandable_list_item_1代表的是系统自带的列表项


如何自定义列表项:
1、在layout里创建一个xml文件,如果使用ArrayAdapter,则列表项必须是TextView。
2、adapter = new ArrayAdapter<String>(this, R.layout.simple_expandable_list_item_1);改成自己xml的名称




1、创建activity
2、创建xml
3、修改Manifest.xml中的主activity
4、拷贝图片,在工程中drawable专门来放存放可以展示的资源的,注意图片的名称跟变量的命名规则一样,并且不能大写。
5、使用baseadapter来实现,baseadapter是一个抽象类。
baseadapter中getcount返回列表数量,getitem根据位置来取得列表项所关联的数据,getItemId根据位置来取得所指定位置关联的id,getView创建一个视图,只要是要呈现列表项的时候都会来执行。ListView里呈现几个,就执行几次getView。convertView为,不见时对象被操作系统回收,下面有数据时则从回收的对象中创建对象。如果有新的对象表时,操作系统会从对象池中查有没有被系统收回的对象。
优化机制:convertView
public View getView(int position, View convertView, ViewGroup parent) {

System.out.println(">>>>>>>>>>>>>>>>>");

TextView tv = null;

if(convertView!=null){
tv=(TextView) convertView;
}else{
tv = new TextView(CustomListView.this);
}

tv.setTextSize(50);
tv.setText(getItem(position));
return tv;
}

能够呈现图标的列表:
如何根据资源来创建布局:
ll=(LinearLayout) LayoutInflater.from(CustomListView.this).inflate(R.layout.custom_listcell, null);

如何侦听列表相关事件:
lv.setOnItemClickListener(this);


直接一个ListActivity,布局改成他。快速创建列表应用程序的方法。


如果为ListActivity创建布局,则布局文件的id是确定的,为@android:id/list
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值