ListView控件

 
打气筒工具:将R.layout.item_listview布局添加到相应的view控件里面
  • View view=LayoutInflater.from(ScondPro.this).inflate(R.layout.item_listview, null);
  • ListView列表控件,他需要两个内容:1.单元布局(单元布局要被填充到listview里面,写在一个layout布局文件中)和 2.数据
  • Adapter:数据源、适配器
  • 第一步:在.Xml布局文件中设置ListView控件(我们只要设置宽高id属性即可)和创建.xml单元布局,
  • 第二步:在activity中创建Listview变量,通过findViewById将变量和布局中的ListView做关联;
  • 第三步:调用Listview中的setAdapter()方法设置数据源,适配器;
  • 第四步:new BaseAdapter,适配对象,通过匿名内部类创建一个适配器BaseAdapter对象,里面有四个抽象方法
【LayoutInflater inflater=new LayoutInflater.from(MainActivity.this);
注意:from()括号里面要写 MainActivity.this】
  • LayoutInflater.from(MainActivity.this).inflat(R.layout_list,null);
  • getCount方法是获得数据的数量
  • getItem方法是获得数据内容
  • getItemId方法是获取数据的位置
  • getView方法是获得数据对应的View(实际上我们将单元布局通过打气筒工具填充到了对应的view中,我们只要返回view就行)
  • listview.setAdapter(new BaseAdapter(){
            @Override
            public int getCount() {
//                有多少条数据就需要创建个多少个view填充到lisrview内
//                创建view的位置是在getview里面
//                有多少条数据就调用多少次getview方法因为getview一次只能创建一个view
                return 20;
            }
 
            @Override
            public Object getItem(int i) {
                return i;
            }
 
            @Override
            public long getItemId(int i) {
                return 0;
            }
 
            @Override
            public View getView(int i, View view, ViewGroup viewGroup) {
//                参数的含义:位置---当前view的位置
//                LayoutInflater把一个布局文件填充到一个View布局里面
//                通过打气筒工具填充到创建的view里面
                view = LayoutInflater.from(ScondPro.this).inflate(R.layout.item_listview, null);
//                创建布局完毕,return返回给系统
                return view;
            }};)
原文地址:https://www.cnblogs.com/zhaiyaohua/p/5834392.html