益阳网站开发公司,各大网站做推广广告,心动网络属于哪个公司,网站的风格指的是什么Android ListView 是垂直滚动列表中显示的视图#xff0c;使用 Adapter 从列表(如数组或数据库)中获取内容的列表项会自动插入列表中。 适配器(Adapter)实际上是UI组件和将数据填充到UI组件中的数据源之间的桥梁#xff0c;适配器保存数据并将数据发送到适配器视图#xff0… Android ListView 是垂直滚动列表中显示的视图使用 Adapter 从列表(如数组或数据库)中获取内容的列表项会自动插入列表中。 适配器(Adapter)实际上是UI组件和将数据填充到UI组件中的数据源之间的桥梁适配器保存数据并将数据发送到适配器视图该视图可以从适配器视图获取数据并在不同的视图上显示数据。 ListView 和 GridView 是 AdapterView 的子类可以通过将它们绑定到 Adapter 来填充它们该适配器检索来自外部源的数据并创建一个表示每个数据条目的视图。
Android提供了Adapter的多个子类这些子类可用于检索各种类型的数据并为AdapterView构建视图(即ListView或GridView)。常见的适配器是ArrayAdapterBase AdapterCursorAdapterSimpleCursorAdapterSpinnerAdapter和WrapperListAdapter。
List View - 属性
以下是特定于GridView的重要属性-
Sr.NoAttribute 描述1 android:id 这是唯一标识布局的ID。 2 android:divider 这是可绘制的或可在列表项之间绘制的颜色。 3 android:dividerHeight 这指定分隔线的高度。可以是pxdpspin或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 ArrayAdapterString(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 ArrayAdapterString(this, R.layout.activity_listview, mobileArray);ListView listView (ListView) findViewById(R.id.mobile_list);listView.setAdapter(adapter);}
}
以下是 res/layout/activity_main.xml 文件的内容-
LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticaltools:context.ListActivity ListViewandroid:idid/mobile_listandroid:layout_widthmatch_parentandroid:layout_heightwrap_content /ListView/LinearLayout
以下是 res/values/strings.xml 的内容以定义两个新的常量-
?xml version1.0 encodingutf-8?
resourcesstring nameapp_nameListDisplay/stringstring nameaction_settingsSettings/string
/resources
以下是 res/layout/activity_listview.xml 文件的内容-
?xml version1.0 encodingutf-8?
!-- Single List Item Design --TextView xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:idid/labelandroid:layout_widthfill_parentandroid:layout_heightfill_parentandroid:padding10dipandroid:textSize16dipandroid:textStylebold
/TextView
单击运行工具栏。 Android studio将应用程序安装在您的AVD上并启动它如果设置和应用程序一切正常它将在Emulator窗口中显示- 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