zoukankan      html  css  js  c++  java
  • 滚动视图、列表视图[ListView、SimpleAdapter类]

    滚动视图 

                  <ScrollView

                              android: layout_width="fill_parent"

                              android: layout_height="fill_parent">

                   </ScrollView>

         滚动试图指的是提供一个专门的容器,可以装下多于屏幕宽度的组件,而后采用拖拽的方式

    显示所有在ScrollView中的组件

         注意:滚动视图中只能有一个组件

    列表视图【ListView、SimpleAdapter类】

       1.ListView控件的特点:每个列表项独占一行,每行的布局都相同。

         2.使用SimpleAdapter类设置列表视图

            SimpleAdapter类的主要功能是将List集合的数据转换为ListView可以支持的数据。

          new SimpleAdapter ( 上下文对象this, 列表的数据, 列表项的布局资源文件,

                                键名数组【new String[ ]{"标签名"}】,列表项所有控件的索引值【new int[ ]{R.id.控件id】)

    方法

    描述

    public SimpleAdapter ( Context context,

    List<? extends Map<String,?>>,

    int resource, String[] from, int[] to)

    创建SimpleAdapter对象,需要传入Context对象,封装的List集合,要使用的布局文件ID,需要显示的key(对应Map)、组件的ID

    public int getCount()

    得到保存集合的个数

    public Object getItem(int position)

    取得指定位置的对象

    public long getItemId(int position)

    取得指定位置对象的ID

    public void notifyDataSetChanged()

    当列表项发生改变时,通知更新显示ListView

    列表项显示模板——res/layout/data_list.xml

    ListView事件

    方法

    描述

    public void setOnItemSelectedListener(

    AdapterView.OnItemSelectedListener listener)

    选项选中时触发

    public void setOnItemClickListener(

    AdapterView.OnItemClickListener listener)

    选项单击时触发

    public void setOnItemLongListener(

    AdapterView.OnItemLongListener listener)

    选项长按时触发

    复制代码
     1         ListView lv=(ListView)findViewById(R.id.listView);
     2     List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();
     3     //从数组资源中获取数据
     4     String[] data=getResources().getStringArray(R.array.haha);
     5     for(int i=0;i<data.length;i++){
     6         Map<String,Object> map=new HashMap<String,Object>();
     7         map.put("img", R.drawable.b);
     8         map.put("txt", data[i]);
     9         list.add(map);
    10     }
    11 //参数列表:上下文对象、列表的数据、列表项的布局资源文件、键名数组、列表项所有控件的索引值
    12     SimpleAdapter adapter=new SimpleAdapter(this, list,R.layout.data_list, new String[]{"img","txt"}, new int[]{R.id.Dataimg,R.id.Datatv});
    13     lv.setAdapter(adapter);
    14 
    15 //设置ListView的单击事件
    16     lv.setOnItemClickListener(new OnItemClickListener() {                  
    17             /**  ListView选项单击时触发
    18              *   adp 取得AdapterView对象
    19              *   view 取得AdapterView的父组件
    20              *   position 取得Adapter的操作位置
    21              *   id 取得ListView所在行的编号
    22              */
    23         public void onItemClick(AdapterView<?> adp, View view, int position, long id) {
    24                 Object obj=adp.getItemAtPosition(position);
    25                 Map<String, Object> objs=(Map<String, Object>)obj;
    26                 String str= (String)objs.get("txt");
    27                 Toast.makeText (Listview.this, str, 1000).show();
    28         }
    29     });
    30     
  • 相关阅读:
    kindle--瓦尔登湖
    8051
    c++
    Linux安装目录的选择
    Redis键值数据类型之散列类型
    Redis键值数据类型之字符串
    redis基本使用
    Ubuntu18.04 Redis安装
    Java String和int转换
    mysql获得自增主码的值
  • 原文地址:https://www.cnblogs.com/dahaoheshan/p/6999407.html
Copyright © 2011-2022 走看看