ListView控件的使用

 最近用到了ListView控件,总结了一下他的使用方法。

          1.概述:ListView一个非常重要的控件 , 它可以用来显示极其庞大的数据,就算这个数据有几百万条也不会让程序崩溃.它基于MVC模式设计。


代码演示:

            使用步骤:
1. 定义布局
<ListView
        android:id="@+id/lv"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
2. 查找控件

//查找视图  。找到定义的listView  V
ListView listView = (ListView) findViewById(R.id.lv);
3. 编写适配器

* 本来要实现的ListAdapter ,方法太多,不利于开发,这个时候可以换一个叫角度去想问题。
* 改为去继承系统已经实现ListAdapter的一些实现类,就可以了。


class MyAdapter extends BaseAdapter{

//用于控制到底显示多少个条目
@Override
public int getCount() {

//这里设置了50000条
return 50000;
}

//用于控制每一个条目到底长什么样子,说的专业一点就是:到底每一个条目显示什么控件,这些控件是如何摆放的。

public View getView(int position, View convertView, ViewGroup parent) {
TextView tv = new TextView(MainActivity.this);
System.out.println("position===="+position);
tv.setText("奥黛丽.赫本------->"+position);
tv.setTextSize(20);
//一定要返回显示的视图
return tv;
}


public Object getItem(int position) {
return null;
}


public long getItemId(int position) {
return 0;
}

}
4. 绑定适配器


//设置显示的数据适配器 ,实际上就是绑定控制器 C
listView.setAdapter(new MyAdapter());




ListView的优化


1. 如果没有做任何的优化,那么实现过多的数据,快速的滑动也会出现内存溢出的异常。
2.  解决办法,如下代码:



TextView tv  ;
if(convertView == null){ //代表的是第一屏显示的条目
System.out.println("不存在缓存,需要创建textview--->"+position);
tv = new TextView( MainActivity.this);
}else{ //存在复用的textView对象
System.out.println("存在缓存,使用缓存-->"+position);
tv = (TextView) convertView;

  


            
      

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值