`

android ListView

阅读更多
ListView

垂直列表显示内容

创建方法:
   使用ListView
   使用ListActivity

常用xml属性
android:divider  设置listView分隔条,可以是coler,drawable
android:dividerHeight 设置分隔条的高度
android:entries  指定一个数字资源,作为listView的内容


1.使用andriod:entries
布局xml
    <ListView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:entries="@array/ball"
        />

资源文件
	<string-array name="ball" >
	    <item>足球</item>
	    <item>篮球</item>
	    <item>网球</item>
	    <item>排球</item>
	</string-array>


2.使用ArrayAdapter

    <ListView
        android:id="@+id/list2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:entries="@array/ball"
        />


ListView list2 = (ListView) findViewById(R.id.list2);
	    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this, 
	    android.R.layout.simple_list_item_1, 
	    new String[]{"one","two","three"});
list2.setAdapter(arrayAdapter);


3.使用SimpleAdapter

    <ListView
        android:id="@+id/listview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:divider="@android:color/holo_purple"
        android:dividerHeight="5dp"
        />


布局文件
    <LinearLayout 
        android:layout_width="match_parent"
   		android:layout_height="match_parent"
   		android:orientation="horizontal">
        
        <ImageView 
            android:id="@+id/pic"
            android:layout_width="wrap_content"
   		    android:layout_height="wrap_content"/>
        <TextView 
            android:id="@+id/name"
            android:layout_width="wrap_content"
   		    android:layout_height="wrap_content"
   		    android:layout_marginLeft="20dp"/>
        
    </LinearLayout>


String[] from = {"pic","name"};
	int[] to ={R.id.pic,R.id.name};
	List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
ListView listView = (ListView) findViewById(R.id.listview);
		Map<String, Object> m1 = new HashMap<>();
		m1.put("pic", R.drawable.ic_launcher);
		m1.put("name", "bird");
		data.add(m1);
		Map<String, Object> m2 = new HashMap<>();
		m2.put("name", "king");
		m2.put("pic", R.drawable.ic_launcher);
		data.add(m2);
/**
		 * SimpleAdapter 参数
		 * 1.context
		 * 2.data List<Map<String,Object> 结构
		 *    list中的每一个map用来生成listview中一行数据
		 *    每个map中的key值和布局中的组件id对应有参数4,5来确定
		 * 3.布局id
		 * 4.data中的key值
		 * 5.布局中的id值
		 * */
		listView.setAdapter(new SimpleAdapter(this, data, R.layout.list_view1, from, to));


4.使用ListActivity

public class ListActivityTest extends ListActivity {
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		/**
		 * 不需要setContentView()方法来指定布局,
		 * 若自己指定布局,者在布局文件中必须有一个id为list的ListView
		 */
		ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,
		android.R.layout.simple_list_item_multiple_choice,
				new String[]{"北京","上海","广州"});
		setListAdapter(arrayAdapter);
	}
}

/**
 * 使用程序对ListView进行数据填充,需要用到adapter
 * ListView的setAdapter需要一个ListAdapter参数
 * ListAdapter是个接口,实现类有
 * ArrayAdapter<T>, BaseAdapter, CursorAdapter, 
 * HeaderViewListAdapter, ResourceCursorAdapter, 
 * SimpleAdapter, SimpleCursorAdapter, WrapperListAdapter等
 * 
 * 创建adapter时,需要用布局文件,
 * android.R.layout下已定义的listview的布局有
 * 
 * simple_list_item_1 每个列表项一个普通的TextView
 * simple_list_item_2 每个列表项两个普通的TextView
 * simple_list_item_checked 每个列表项都是一个已勾选的列表项
 * simple_list_item_multiple_choice 带多选框的文本
 * simple_list_item_single_choice   带单选框的文本
 * ......
 */
分享到:
评论

相关推荐

    android listview 固定表头,固定前几列

    在Android开发中,ListView是一种常用的组件,用于展示大量的数据列表。然而,当列表项过多时,滚动时表头(Header)会随着滚动消失,给用户查看和理解数据带来不便。为了解决这个问题,开发者通常会实现一个固定...

    Android ListView边框圆角美化

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。为了提升用户体验和界面设计的美观性,我们常常需要对ListView进行定制化,包括设置边框和实现圆角效果。本文将深入探讨如何在Android中实现...

    Android listview自动换行

    在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。它的高效性和可滚动性使得它在显示数据集合时十分有用。然而,当ListView的子项(item)宽度超过屏幕宽度时,如何实现自动换行就成了一个...

    android listview带有editText

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。然而,当在ListView的每一项中嵌套EditText时,会遇到一些挑战,主要包括EditText的焦点管理问题和数据错位问题。这两个问题在实际应用...

    android listview 下拉刷新 动态加载数据 图文混排

    在Android开发中,ListView是一种常用的组件,用于展示大量可滚动的数据。本教程将重点讲解如何在ListView中实现下拉刷新和动态加载数据的功能,同时处理图文混排的问题。 首先,我们要引入SwipeRefreshLayout库,...

    Android ListView长按删除

    在Android开发中,ListView是一种常用的组件,用于展示大量可滚动的数据。它允许用户通过垂直滚动查看多行数据项。在许多应用中,我们可能需要添加一些交互性功能,比如长按删除,以增强用户体验。本篇文章将详细...

    androidlistview里面使用radiobutton

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。而当需要在ListView中实现单选功能时,我们通常会使用RadioButton。本文将深入探讨如何在ListView中集成RadioButton,以及相关的实现...

    Android listView选项滑动效果

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。`Android listView选项滑动效果`是指通过增强ListView的功能,使每个列表项可以左右滑动,通常用于实现更多的交互操作,比如滑动删除、切换...

    Android listview和viewpager解决冲突 滑动冲突

    Android listview viewpager 滑动 跳动 冲突解决 ListView中嵌套ViewPage有或者滑动手势冲突解决 blog 地址 : http://blog.csdn.net/aaawqqq/article/details/43824631

    android ListView简单用法

    在Android开发中,ListView是一个非常重要的组件,它用于展示大量数据的列表,用户可以通过滚动查看更多的条目。这个教程将详细介绍Android ListView的基本用法。 ### 1. 添加ListView到布局 首先,在XML布局文件...

    Android ListView实例源码

    在Android开发中,ListView是一个非常重要的组件,它用于展示大量数据列表,比如联系人列表、邮件列表等。这个实例源码“Test_Golf1”很可能包含了一个完整的ListView应用示例,帮助开发者理解如何在Android中有效地...

    android listview

    在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。本篇文章将深入探讨“android listview”相关的知识点,包括横向ListView、微信风格的ListView以及XListView的优化。 首先,我们来看“横向...

    Android listview 下拉刷新

    在Android开发中,ListView是广泛使用的控件,用于展示大量数据列表。然而,随着移动应用交互体验的提升,用户期望更多的动态功能,如下拉刷新(Pull-to-Refresh)。下拉刷新功能允许用户通过在ListView顶部向下拉动...

    Android listview 逐行显示效果

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。在“Android listview 逐行显示效果”这个主题中,我们将深入探讨如何在ListView中实现逐行动画显示的效果,特别是在Android 1.6版本及eclipse...

    android listView 适配器demo

    在Android开发中,ListView是一个非常重要的组件,它用于展示大量数据列表,通常配合适配器(Adapter)使用。本示例“android listView 适配器demo”将详细讲解如何利用适配器机制来动态填充ListView的数据。 首先...

    android listview+fragment实现仿京东分类

    在Android开发中,ListView与Fragment的结合使用是构建复杂用户界面的一种常见方法。在这个"android listview+fragment实现仿京东分类"项目中,我们将探讨如何利用这两种组件来模仿京东应用中的商品分类功能。以下是...

    android listview item背景色点击效果实例

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。当用户与列表交互时,为了提供良好的用户体验,通常需要实现点击项时的视觉反馈,比如改变item的背景颜色。本实例“android listview item背景色...

    android listview左划删除

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。"android listview左划删除"是ListView的一个常见扩展功能,允许用户通过手势左滑列表项来显示一个删除按钮,进而实现快速删除操作。这...

    Android ListView简单示例

    在Android开发中,ListView是一个非常重要的组件,常用于展示大量数据列表。本示例将详细介绍如何在Android Studio中创建一个简单的ListView。首先,我们需要理解ListView的基本结构和工作原理。 ListView是一个可...

Global site tag (gtag.js) - Google Analytics