• Android ListView使用


      使用方法:继承ListActivity或者findViewById得到ListView,setAdapter加载列表数据项,adapter.notifyDataSetChanged()更新列表项数据,listView.setOnItemLongClickListener(l)设置长按监听器,listView.setOnItemClickListener(l)设置点击选择监听器, setOnItemSelectedListener(l)设置选中监听器;

      更新:l.getItemAtPosition(position)得到该项数据,修改后,adapter.notifyDataSetChanged()更新列表项;

      列表项从简单到复杂:

      1. ArrayAdapter简单文字选项:setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new String[]{"item1", "item2"}));

      每个列表项通过android.R.layout.simple_list_item_1指定只有一个文字控件TextView;

      2. SimpleAdapter可定制layout的列表项:setListAdapter(new SimpleAdapter(this, List<Map<String, Object>> data, itemLayout, new String[] { "dataKey" }, new int[] { layout.controlKey }));

      获取选中的列表的数据:(Map<String, Object>)l.getItemAtPosition(position);

      每个列表项可以定制layout,复杂显示;

      3. 继承ArrayAdapter:重写getView()、getItem(id)等方法;注意convertView的重用,类比ios中的view重用;

      适用条件:数据为Array;

      4. 继承BaseAdapter:实现了ListAdapter,通过Observer实现view对数据变化的响应,即notifyDataSetChanged;

      适用范围:需要转化数据为Array、更新数据;适用于大部分要灵活定制item view的ListView;

      5. 继承ListAdapter:ListView的最基本类型;

      适用范围:数据设置后不再更改;

  • 相关阅读:
    ffmpeg 编译IOS静态库
    冲刺总结——第一篇
    openssl基础知识以及部分命令详解
    电子公文传输系统
    第五组课程设计—小组总结
    学习经验总结
    QtCreator:没CDB二进制档可用为二进制格式在'x86windowsmsvc2008pe32bit'"
    printf格式化输出
    DELL T110 安装windows server 2003
    visualSVN+花生壳实现外网访问局域网内SVN
  • 原文地址:https://www.cnblogs.com/toven/p/2376778.html
Copyright © 2020-2023  润新知