ListView

ListView

1-listview设置adapter(继承BaseAdapter )

class MyAdapter extends BaseAdapter {

    // listview一共展示条目的个数
    @Override
    public int getCount() {
        return 5;
    }

    // 根据Position的位置获取指定条目
    @Override
    public Object getItem(int position) {
        return null;
    }

    // 根据指定位置获取条目的id
    @Override
    public long getItemId(int position) {
        return 0;
    }

    /**
     * 这个方法:获取一个view(TextView,ImageView) 展示条目的内容 其实就代表每个条目的view 用来展示指定的数据
     * 索引从0开始 ,说明这个方法执行了10次. 当listview展示的条目
     * 一屏幕显示不下的时候,第一次getview方法执行多少次?当屏幕第一次能展示多少个条目就执行多少次,
     * 当我们拖动listview的时候,加载一个条目getView方法就执行一次
     * <p>
     * convertView:当 listview第一次加载的时候convertView是null
     */
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
                   /*
             * 创建新的view对象 获取一个打气筒服务 把一个布局xml转换为View对象 参数1:context
         * 参数2:要填充资源的id 就是我们转换的布局资源的id(将该布局转换为View对象) 参数3:viewGroup控件都要放到viewGroup这个类里()
         */
        //listview优化:缓冲机制,reuse.
        View view = null;
        if (convertView == null) {
            view = View.inflate(getApplicationContext(), R.layout.item, null);
        } else {
            view = convertView;
        }
        return view;
    }
}

2-arrayadapter

当我有些简单的数据需要快速展示的时候,而且要展示的数据也不是特别多,数据的类型也不是特别复杂,这时候我就可以使用谷歌封装好的这个适配器

String objects[] = {"Android", "ios", "java", "php", "ui", "C"};
ListView lv = (ListView) findViewById(R.id.lv);
lv.setAdapter(new ArrayAdapter<String>(getApplicationContext(), R.layout.item, objects));

3-simpleAdapter

        List<Map<String, String>> data = new ArrayList<Map<String,String>>();
        //参数三:代表listview条目的布局 from:就是map中定义的key
        //参数四:from,String[]数组,里面是集合中定义的key值
        //参数五:每个控件在R文件总都有个引用--为int类型值,int[]数组,里面就是定义相应字段在哪个控件中显示,即通过id找到控件
        lv.setAdapter(new SimpleAdapter(getApplicationContext(), data, R.layout.item, new String[]{"name", "phone"}, new int[]{R.id.tv_name, R.id.tv_phone}));
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容