• ListView


    一、ListView入门

    1.定义ListView在布局中

    2.定义ListView的数据适配器

    3.实现baseAdapter的getCount方法和getView方法。

    二、ListView的优化

    1.缓存对象

        //convertView 历史缓存对象
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                TextView tv;
                if(convertView == null){
                    //创建新的View对象
                    tv = new TextView(MainActivity.this);
                    System.out.println("创建新的View对象--"+position);
                }else{
                    System.out.println("复用历史缓存对象--"+position);
                    tv = (TextView) convertView;
    
                }
                tv.setText("哈哈哈"+position);
                return tv;
            }
    View Code

    2. ListView的高使用填充父窗体 :fill_parent

    三、ListView显示数据的原理

    MVC模式(android):

    m:mode 数据(javabean)

    v:view(ListView)

    c:adapter:作用是将数据展示至ListView

    四、ListView显示复杂的页面

    线性布局、相对布局都继承自viewgroup。

    通过一个打气筒 inflate 可以把一个布局转换为一个view对象

     获取打气筒常用API(3种):

    1.view = View.inflate(getApplicationContext(), R.layout.item, null);            
    2.view = LayoutInflater.from(getApplicationContext()).inflate(R.layout.item, null);
    3.LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
      inflater.inflate(R.layout.item, null);

    五、ArrayAdapter

        String objects[] = {"aa","bb","cc","dd"};
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            ListView lv = (ListView) findViewById(R.id.lv);
            //ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.item, objects);
            
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.item,R.id.tv_name, objects);
    
            lv.setAdapter(adapter);
        }
    View Code

    六、SimpleAdapter

    //resource我们定义的布局文件       from map集合的键。     to布局文件的id
     SimpleAdapter simpleAdapter = new SimpleAdapter(getApplicationContext(), data, R.layout.item, new String[]{"name","phone"}, new int[]{R.id.tv_name,R.id.tv_phone});
  • 相关阅读:
    应用Druid监控SQL语句的执行情况
    J2EE应用监控后台执行SQL
    maven环境搭建
    【机器学习】Sklearn库主成分分析PCA降维的运用实战
    PCA降维算法
    80行Python实现-HOG梯度特征提取(转载)
    HOG特征提取算法原理(转载)
    数据预处理方法 总结
    【AI换脸】Faceswap源代码换脸软件安装指南(转)
    人工智能领域的会议和期刊(转载)
  • 原文地址:https://www.cnblogs.com/wjh123/p/5931451.html
Copyright © 2020-2023  润新知