Android列表视图示例
我们已经了解了Android的许多其他布局,本教程将通过示例说明Android中的列表视图。
列表视图
是否要在应用程序中显示列表?Android的解决方案是提供列表视图布局。它是一种在垂直滚动列表中显示项目的布局。列表中的每个项目都位于列表上一个项目的下方。列表项存储在数组中,并使用从数组中提取项的适配器插入到列表中。列表视图是AdapterView的子类。自定义列表在移动应用程序中非常常见,而列表视图提供了一种创建自定义列表的非常简单的方法。它是最常用的布局之一,例如,当我们想要显示一组日期时,没有什么比列表更合适了。
列表视图属性
下面是列表视图的一些重要XML属性。
android:divider,用于列表项之间的绘制或者颜色绘制。
android:entries,引用数组资源填充列表视图。
android:headerDividersEnabled,用于在每个header视图后绘制分隔线。
android: footerDividersEanabled,用于绘制每个页脚视图。
列表查看方式
列表视图有许多公共方法,下面将对其中一些方法进行说明。
getAdapter():返回列表视图中使用的适配器。
addHeaderView():用于在列表顶部添加一个标题视图。
getAccessibilityClassName():返回object的类名。
getDivider():返回列表中每个项目之间的分隔符。
getDividerHeight():返回分割器高度。
isOpaque():显示列表是否不透明。
removeFooterView(View view):用于删除列表中先前添加的页脚视图。
removeHeaderView(View view):用于删除列表中先前添加的表头视图。
列表视图的构造函数
列表视图有四个不同的公共构造函数,如下所示:
ListView( Context context )
ListView( Context context, AttributeSet attrs )
ListView( Context context, AttributeSet attrs, int defStyleAttr )
ListView( Context context, AttributeSet attrs, AttributeSet attrs, int defStyleRes )
列表视图示例
下面是一个在Android中使用列表视图的示例。它显示了计算机科学中的语言列表。让我们先创建一个活动,
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <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" > <ListView android:id="@+id/mobile_list" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView> </LinearLayout>
创建另一个布局作为活动_列表视图.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>
MainActivity.java
package com.example.admin.listviewexample; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListView; public class MainActivity extends AppCompatActivity { String[] mobileArray = {"Java","C++","C#","CSS", "HTML","XML",".Net","VisualBasic", "SQL", "Python", "PHP"}; @Override protected 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); } }