Android学习笔记8--ListView使用

本文介绍了Android中ListView控件的两种使用方式:通过BaseAdapter自定义适配器和使用ArrayAdapter快速填充数据。BaseAdapter适合复杂场景,需重写四个方法;ArrayAdapter适用于简单列表展示。

ListView控件的使用的两种方法
一.使用BaseAdapter
1.在activity文件中定义一个listview控件
2.在layout文件夹中自己定义一个item.xml文件,用来展示数据
3.在MainActivity中定义一个MyAdapter继承BaseAdapter,实现父类中的四个方法
4.主要重写getCount()和getView(int position, View convertView, ViewGroup parent)方法
5.getCount()方法主要返回ListView控件展示条目的个数
6.getView()方法主要返回一个View对象展示到每一个条目上
7.在MainActivity中拿到ListView对象调用setAdapter()方法,就可以将数据展示出来

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // [1]找到我们关心的控件
        ListView lv = (ListView) findViewById(R.id.lv);
        //设置数据适配器
        lv.setAdapter(new MyAdapter());     
    }

    private class MyAdapter extends BaseAdapter{
        @Override
        public int getCount() {
            return 7;
        }
        @Override
        public Object getItem(int position) {
            return null;
        }
        @Override
        public long getItemId(int position) {
            return 0;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) { 
            //[1]想办法把我们自己定义的布局转换成一个view对象 就可以了
            View view;
            if (convertView == null) {
                //创建新的view对象   可以通过打气筒把一个布局资源转换成一个view对象 
                //resource 就是 我们定义的布局文件         
                //[一☆☆☆☆]获取打气筒服务
//              view = View.inflate(getApplicationContext(), R.layout.item, null);  
                //[二☆☆☆☆]获取打气筒服务
//              view = LayoutInflater.from(getApplicationContext()).inflate(R.layout.item, null);   
                //[三☆☆☆☆]获取打气筒服务
                LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
                view = inflater.inflate(R.layout.item, null);   
            }else {
                //复用历史缓存对象 
                view = convertView; 
            }
            return view;
        }
    }
}

二.使用ArrayAdapter
1.在activity文件中定义一个listview控件
2.在layout文件夹中自己定义一个item.xml文件,用来展示数据
3.创建一个arrayAdapter
4.在MainActivity中拿到ListView对象调用setAdapter()方法,就可以将数据展示出来
如果我们要展示的数据就存在一个数组中,我们一般用ArrayAdapter就可以了

public class MainActivity extends Activity{
    String objects[] = {"老张","老方","老黎","老毕","老刘","老韩","agjksd","sdgsdg"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // [1]找到我们关心的控件
        ListView lv = (ListView) findViewById(R.id.lv); 
        // [2]创建一个arrayAdapter 
//      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.item, objects);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.item1, R.id.tv_name, objects); 
        //[3]设置数据适配器    要会触类旁通
        lv.setAdapter(adapter);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值