几种给list添加表项的方法

来源:互联网 发布:蝴蝶机夹胸 知乎 编辑:程序博客网 时间:2024/06/05 19:23
  • 直接在xml中添加listview。
  • 写成数组。
    • res/values/arrays.xml中写个book数组
    • 引用的时候,在main.xml中的listview中使用android:entries="@array/books"
  • main.xml中定义listview(起名为:list2)。主文件中使用arrayadapter。
    • 用一个string数组来包含表项内容。String[] arr = {"悟空","悟能","悟静"};
    • 将数组包装ArrayAdapter。ArrayAdapter<String>arrayAdapter = newArrayAdapter<String>(this,android.R.layout.simple_list_item_1, arr);
    • 为ListView设置Adapter。list2.setAdapter(arrayAdapter);
  • 主文件继承ListActivity
    • 用一个string数组来包含表项内容。String[] arr = {"悟空","悟能","悟静"};
    • 将数组包装ArrayAdapter。ArrayAdapter<String>adapter = newArrayAdapter<String>(this,android.R.layout.simple_list_item_1, arr)
    • 设置该窗口显示列表。setListAdapter(adapter);
  • 比较复杂的表项,比如QQ那种,有头像有名字的。
    • 定义名字数组String[] names = new String[]{内容},定义头像数组int[] imageIds =new int[]{内容}
    • 创建一个List集合,List集合的元素是Map。
      • List<Map<String,Object>> listItems = newArrayList<Map<String,Object>>();
          for (int i = 0; i< names.length; i++)
          {
           Map<String,Object> listItem = newHashMap<String, Object>();
           listItem.put("header",imageIds[i]);
           listItem.put("personName",names[i]);
           listItems.add(listItem);
          }
    • 创建一个SimpleAdapter
        SimpleAdapter simpleAdapter =new SimpleAdapter(this, listItems, R.layout.main,new String[]{ "personName", "header" }, newint[]{R.id.name , R.id.header});
        ListView list =(ListView)findViewById(R.id.mylist);
    • 为ListView设置Adapter
        list.setAdapter(simpleAdapter);
0 0
原创粉丝点击