zoukankan      html  css  js  c++  java
  • 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的最基本类型;

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

  • 相关阅读:
    LeetCode Single Number
    Leetcode Populating Next Right Pointers in Each Node
    LeetCode Permutations
    Leetcode Sum Root to Leaf Numbers
    LeetCode Candy
    LeetCode Sort List
    LeetCode Remove Duplicates from Sorted List II
    LeetCode Remove Duplicates from Sorted List
    spring MVC HandlerInterceptorAdapter
    yum
  • 原文地址:https://www.cnblogs.com/toven/p/2376778.html
Copyright © 2011-2022 走看看