zoukankan      html  css  js  c++  java
  • 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});
  • 相关阅读:
    即时通讯之环信视频语音实时通话与单聊和群聊实现
    检测.net framework 版本
    Abp(.NetCore)开发与发布过程3-部署Ubuntu站点
    Abp(.NetCore)开发与发布过程2
    Abp(.NetCore)开发与发布过程
    Redis实战与 Session缓存
    Redis 安装与初体验
    [转]gluPerspective函数
    [转]gluLookAt 函数详解
    [转]unity3D游戏开发之GUI
  • 原文地址:https://www.cnblogs.com/wjh123/p/5931451.html
Copyright © 2011-2022 走看看