• 详解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 />
  • 相关阅读:
    bzoj4537: [Hnoi2016]最小公倍数
    bzoj4331: JSOI2012 越狱老虎桥
    bzoj4558: [JLoi2016]方
    bzoj4209: 西瓜王
    bzoj2653: middle
    bzoj4671: 异或图
    bzoj4771: 七彩树
    shell java应用启动脚本(app.sh)
    Springboot 构建http服务,返回的http行是'HTTP/1.1 200' 无状态码描述 客户端解析错误
    MariaDB(Mysql)-主从搭建
  • 原文地址:https://www.cnblogs.com/thinksasa/p/2795107.html
Copyright © 2020-2023  润新知