zoukankan      html  css  js  c++  java
  • 详解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 />
  • 相关阅读:
    终极调试工具EventRecorder使用方法,各种Link通吃
    stm32如何才能正常运行的调试笔记
    自己常用的vscode的插件备忘录
    linux下(lubuntu18.04.4)安装tinycc编译器及运行调试C语言
    虚拟机下的lubuntu14.04磁盘扩展
    使用lubuntu14.04编译ESP8266_NONOS_SDK3.0.0
    c语言中不建议使用的库函数
    RS485, RS422 and RS232连线
    Sql server output 功能介绍
    句子成分:主谓宾等
  • 原文地址:https://www.cnblogs.com/thinksasa/p/2795107.html
Copyright © 2011-2022 走看看