• 详解ListView


       在android开发中,ListView是比较常用的组件,它以列表的形式展示了具体内容,并且能够根据数据的长度自适应显示。

    列表的显示需要三个元素:

      1.ListView:用来展示列表的View;

      2.适配器:用来把数据映射到ListView上的媒介,相当于数据与视图的桥梁;

      3.数据:具体的被映射到视图上的字符串、图片或者基本组件。

    根据列表的适配器类型,列表分为三种:

      1.ArrayAdapter:最简单的一种,只能展示一行字;

      2.SimpleAdapter:有最好的扩充性,可以自定义各种效果;

      3.SimpleCursorAdapter:可以认为是SimpleAdapter对数据库的简单结合,可以方便的把数据库的内容以列表的形式展示出来。

    第一种:ArrayAdapter:

     1 package com.androidpractice;
     2 
     3 import java.util.ArrayList;
     4 import java.util.List;
     5 
     6 import android.os.Bundle;
     7 import android.app.Activity;
     8 import android.widget.ArrayAdapter;
     9 import android.widget.ListView;
    10 
    11 public class MainActivity extends Activity {
    12 
    13     @Override
    14     public void onCreate(Bundle savedInstanceState) {
    15         super.onCreate(savedInstanceState);
    16        /*拿到一个ListView;
    17         * 方式一:ListView listView = new ListView(this);其中this指上下文context,即MainActivity;
    18         * 方式二:ListView listView = (ListView)findViewById("R.id.arradp");
    19         * */
    20         ListView listView = new ListView(this);
    21         /*用适配器ArrayAdapter将数据映射到视图ListView上,其中三个参数分别是:
    22          * 1.Context:上下文,即MainActivity;
    23          * 2.R.layout.main:即视图文件,分为两种:(1).系统定义的:android.R.layout.simple_expandable_list_item_1;
    24          * (2).自定义xml文件:R.layout.main,注意:自定义的xml文件仅能有一个TextView,连LinearLayout都不能有;
    25          * 3.数据*/
    26         listView.setAdapter(new ArrayAdapter<String>(this,R.layout.main,getData()));
    27         //在视图中显示数据列表
    28         setContentView(listView);
    29     }
    30     
    31     private List<String> getData(){
    32         List<String> data= new ArrayList<String>();
    33         data.add("测试数据一");
    34         data.add("测试数据二");
    35         data.add("测试数据三");
    36         data.add("测试数据四");
    37         return data;
    38     }
    39 }

    xml文件:

    1 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
    2     xmlns:tools="http://schemas.android.com/tools"
    3     
    4     android:layout_width="fill_parent"
    5     android:layout_height="wrap_content"
    6     android:id="@+id/arradp"
    7 
    8 />
  • 相关阅读:
    nginx+keepalived高可用 (主从+双主)
    element ui中table动态列切换时,表格样式变形
    vue中的Swiper使用slideTo提示no function
    element的upload手动submit前动态设置上传请求地址
    使用svg让页面自适应浏览器大小,整体等比缩放
    vue子组件为父组件属性写值
    C#使用SharpZipLib解压多文件的zip压缩文件数据流,保存到本地
    javascript使用正则表达式,从字符串提取内容,多数组解析
    sql server 分组排序
    IE浏览器下错误,不能执行已释放script的代码
  • 原文地址:https://www.cnblogs.com/thinksasa/p/2795107.html
Copyright © 2020-2023  润新知