当前位置: 首页 > news >正文

无涯教程-Android - List View函数

Android ListView 是垂直滚动列表中显示的视图,使用 Adapter 从列表(如数组或数据库)中获取内容的列表项会自动插入列表中。

List View

适配器(Adapter)实际上是UI组件和将数据填充到UI组件中的数据源之间的桥梁,适配器保存数据并将数据发送到适配器视图,该视图可以从适配器视图获取数据,并在不同的视图上显示数据。

ListView 和 GridView 是 AdapterView 的子类,可以通过将它们绑定到 Adapter 来填充它们,该适配器检索来自外部源的数据,并创建一个表示每个数据条目的视图。

Android提供了Adapter的多个子类,这些子类可用于检索各种类型的数据并为AdapterView构建视图(即ListView或GridView)。常见的适配器是ArrayAdapter,Base Adapter,CursorAdapter,SimpleCursorAdapter,SpinnerAdapter和WrapperListAdapter。

List View - 属性

以下是特定于GridView的重要属性-

Sr.NoAttribute & 描述
1

android:id

这是唯一标识布局的ID。

2

android:divider

这是可绘制的或可在列表项之间绘制的颜色。

3

android:dividerHeight

这指定分隔线的高度。可以是px,dp,sp,in或mm。

4

android:entries

指定对将填充ListView的数组资源的引用。

5

android:footerDividersEnabled

当设置为false时,ListView将不会在每个页脚视图之前绘制分隔线。默认值是true。

6

android:headerDividersEnabled

设置为false时,ListView不会在每个标题视图之后绘制分隔线。默认值是true。

ArrayAdapter

当您的数据源是数组时,可以使用此适配器。默认情况下,ArrayAdapter通过在每个项目上调用toString()并将其内容放置在TextView中,为每个数组项目创建一个视图。假设您有一个要在ListView中显示的字符串数组,请使用构造函数初始化一个新的ArrayAdapter,以指定每个字符串和字符串数组的布局-

ArrayAdapter adapter = new ArrayAdapter<String>(this,R.layout.ListView,StringArray);

这是此构造函数的参数-

  • 第一个参数 this 是应用程序context上下文,在大多数情况下,请将其保留为 this 。

  • 第二个参数将在XML文件中进行布局定义,并为数组中的每个字符串 TextView组件 。

  • 最终参数是将在文本视图中填充的字符串数组。

创建数组适配器后,只需在 ListView 对象上调用 setAdapter(),如下所示-

ListView listView = (ListView) findViewById(R.id.listview);
listView.setAdapter(adapter);

您将在XML文件的res/layout目录下定义列表视图。对于无涯教程的示例,无涯教程将使用activity_main.xml文件。

ArrayAdapter - 示例

下面的示例将引导您完成简单的步骤,以展示如何使用ListView创建自己的Android应用程序。

以下是修改后的主要Activity文件 src/com.example.ListDisplay/ListDisplay.java 的内容。

package com.example.ListDisplay;import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.ListView;public class ListDisplay extends Activity {// Array of strings...String[] mobileArray = {"Android","IPhone","WindowsMobile","Blackberry","WebOS","Ubuntu","Windows7","Max OS X"};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ArrayAdapter adapter = new ArrayAdapter<String>(this, R.layout.activity_listview, mobileArray);ListView listView = (ListView) findViewById(R.id.mobile_list);listView.setAdapter(adapter);}
}

以下是 res/layout/activity_main.xml 文件的内容-

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".ListActivity" ><ListViewandroid:id="@+id/mobile_list"android:layout_width="match_parent"android:layout_height="wrap_content" ></ListView></LinearLayout>

以下是 res/values/strings.xml 的内容,以定义两个新的常量-

<?xml version="1.0" encoding="utf-8"?>
<resources><string name="app_name">ListDisplay</string><string name="action_settings">Settings</string>
</resources>

以下是 res/layout/activity_listview.xml 文件的内容-

<?xml version="1.0" encoding="utf-8"?>
<!--  Single List Item Design --><TextView xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/label"android:layout_width="fill_parent"android:layout_height="fill_parent"android:padding="10dip"android:textSize="16dip"android:textStyle="bold" >
</TextView>

单击"运行Eclipse运行图标工具栏。 Android studio将应用程序安装在您的AVD上并启动它,如果设置和应用程序一切正常,它将在"Emulator"窗口中显示-

List View

SimpleCursorAdapter

当您的数据源是数据库Cursor时,可以使用此适配器,使用 SimpleCursorAdapter 时,必须指定用于 Cursor 中每一行的布局,以及Cursor中的获取哪些值显示。

如果要获取创建人员姓名和电话列表,则可以执行查询,该查询返回一个Cursor,其中包含每个人的一行以及姓名和电话列。然后,您创建一个字符串数组,该字符串数组为实图填充数据

String[] fromColumns = {ContactsContract.Data.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER};
int[] toViews = {R.id.display_name, R.id.phone_number};

实例化SimpleCursorAdapter时,传递用于每个输出的布局,包含输出的Cursor以及这两个数组-

SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.person_name_and_number, cursor, fromColumns, toViews, 0);ListView listView = getListView();
listView.setAdapter(adapter);

然后,SimpleCursorAdapter使用所提供的布局为Cursor中的每一行创建一个视图,方法是将" from Columns"项插入相应的 toViews 视图。

Android 中的 List View函数 - 无涯教程网无涯教程网提供Android ListView 是垂直滚动列表中显示的视图,使用 Adapter 从列表(如数组或数据库)...https://www.learnfk.com/android/android-list-view.html

http://www.lryc.cn/news/153063.html

相关文章:

  • stable diffusion实践操作-重绘
  • C# 静态构造函数未执行 .net core框架
  • Java 复习笔记 - 学生管理系统篇
  • 【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】
  • 仿京东 项目笔记1
  • huggingface transformers库中LlamaForCausalLM
  • 04-过滤器和拦截器有什么区别?【Java面试题总结】
  • 如何用selenium或pyppeteer来启动多个AdsPower窗口
  • 京东店铺所有商品API接口数据
  • stm32之27.iic协议oled显示
  • paddle 1-高级
  • ChatGPT帮助高职院校学生实现个性化自适应学习与对话式学习
  • 如何通过python写接口自动化脚本对一个需要调用第三方支付的报名流程进行测试?
  • 将OSGB格式数据转换为3d tiles的格式
  • 【易售小程序项目】小程序首页完善(滑到底部数据翻页、回到顶端、基于回溯算法的两列数据高宽比平衡)【后端基于若依管理系统开发】
  • 素数求原根
  • 【Apollo学习笔记】——规划模块TASK之PATH_ASSESSMENT_DECIDER
  • 09 mysql fetchSize 所影响的服务器和客户端的交互
  • DevEco Studio 配置
  • Nginx自动探活后端服务状态自动转发,nginx_upstream_check_module的使用
  • CSS 一个好玩的卡片“开卡效果”
  • lintcode 667 · 最长的回文序列【中等 递归到动态规划】
  • oracle sql语言模糊查询
  • 【Ubuntu】解决ubuntu虚拟机和物理机之间复制粘贴问题(无需桌面工具)
  • 解决ubuntu文件系统变成只读的方法
  • 高数刷题笔记
  • c++入门一
  • 2023年项目进度管理平台排行榜
  • 【设计模式】面向对象设计八大原则
  • python数分实战探索霍尔特法之销售预测python代码实现以及预测图绘制