1. CustomListViewItem.java在这个文件里设置了ListView的适配器以及item点击监听
package com.cn.itcast;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.AdapterView.OnItemClickListener;
public class CustomListViewItem extends Activity {
/** Called when the activity is first created. */
ListView lv;
private static final String[] autoStr = new String[] { "CUSTOM NAME",
"CUSTOM NAME", "CUSTOM NAME", "CUSTOM NAME", "CUSTOM NAME",
"CUSTOM NAME" };
ArrayAdapter<String> arrayadapter;
ImageView iv;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.autocomplete);
lv = (ListView) findViewById(R.id.showList);
// 绑定Layout里面的ListView生成动态数组,加入数据
ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();
for (int i = 0; i < 6; i++) {
// Keys and values can be any objects
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("ItemImage", R.drawable.icon);// 图像资源的ID
map.put("ItemTitle", autoStr[i]+i);
map.put("ItemText", "Department of posts");
map.put("ItemText1", "先生");
listItem.add(map);
}
// 生成适配器的Item和动态数组的元素
SimpleAdapter liSimpleAdapter = new SimpleAdapter(this, listItem,
R.layout.auto_list_item, new String[] { "ItemImage",
"ItemTitle", "ItemText", "ItemText1" }, new int[] {
R.id.ItemImage, R.id.ItemName, R.id.ItemPhone,
R.id.ItemText1 });
// 添加并且显示
lv.setAdapter(liSimpleAdapter);
// 添加点击
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
setTitle("点击第" + arg2 + "个项目");
}
});
}
}
2.autocomplete.xml文件
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/showList" android:layout_width="fill_parent"
android:layout_height="fill_parent">
</ListView>
3.auto_list_item.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content" android:paddingBottom="4dip"
android:paddingLeft="12dip" android:cacheColorHint="#FFFFFFFF"
android:background="@drawable/list_backgroud" android:paddingRight="12dip">
<ImageView android:paddingTop="8dip" android:layout_width="wrap_content"
android:paddingRight="12dip" android:layout_height="wrap_content"
android:id="@+id/ItemImage" />
<TextView android:layout_height="wrap_content"
android:layout_toRightOf="@id/ItemImage" android:paddingTop="8dip"
android:textColor="@color/black" android:textSize="20dip"
android:layout_width="wrap_content" android:id="@+id/ItemName" />
<TextView android:layout_height="wrap_content"
android:layout_toRightOf="@id/ItemImage" android:textColor="@color/black"
android:textSize="14dip" android:layout_width="wrap_content"
android:layout_below="@+id/ItemName" android:id="@+id/ItemPhone" />
<TextView android:layout_toRightOf="@id/ItemName" android:paddingTop="10dp"
android:paddingLeft="20dp" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:textColor="@color/black"
android:id="@+id/ItemText1" />
</RelativeLayout>
以上就是自定义item的简单例子
分享到:
相关推荐
当列表中的每一项需要有不同的显示样式或包含不同内容时,我们就需要自定义ListView的Adapter。这个过程涉及到Android的视图复用机制、数据绑定以及事件处理等多个核心知识点。 1. **Adapter原理**: Android的...
本文将深入探讨C#中的自定义ListView以及ObjectListViewFull-2.4.1这个强大的工具。 ObjectListView是一个开源的.NET组件,它扩展了Windows Forms的ListView控件,提供了更多的功能和易用性。这个库的版本2.4.1带来...
针对这一需求,开发者常常需要自定义ListView,以实现图文并茂的展示效果。 自定义ListView的关键在于扩展ListView的基本功能,增加对图片的支持。这通常涉及到以下几个方面: 1. **Item模板**:通过修改ListView...
然而,有时我们不仅需要简单的列表,而是需要分组显示数据,这就涉及到自定义ListView。本篇将详细讲解如何在Android中实现一个自定义的ListView,以分组显示本地JSON格式的数据。 首先,我们需要了解JSON...
当需要对ListView的显示效果进行个性化定制时,我们通常会涉及到自定义Item。本篇文章将深入探讨如何实现ListView自定义Item,以及如何通过重写代理类来达到类似网易云PC客户端的效果。 首先,我们需要了解...
2. 设计DataTemplate以定义每个ListViewItem的显示样式。 3. 使用数据绑定将数据模型与UI元素关联起来。 4. 可选地,使用DataTrigger根据数据项的属性动态调整UI元素的属性。 通过这种方式,开发者可以构建出具有...
自定义ListView可以实现更丰富的界面效果和交互功能,提升用户体验。本教程将详细讲解如何在Android中实现自定义ListView,包括基本的ListView、带图片的ListView以及带有按钮的ListView。 1. **基本的ListView** ...
在Android开发中,`TabHost` 是一个非常重要的组件,用于实现多标签页面的切换,而将自定义的`ListView`填充到`TabHost`中则可以构建出复杂的交互界面。下面我们将详细探讨如何实现这一功能。 首先,我们需要了解`...
在Android开发中,自定义ListView和图片的左右切换是常见的需求,这涉及到用户界面的交互设计和性能优化。本文将详细解析这两个知识点。 首先,我们来看`ImageSwitcher`实现图片的左右移动。`ImageSwitcher`是...
1. 首先,需要创建一个自定义的ListViewItem类,继承自`System.Windows.Forms.ListViewItem`,并添加CheckBox字段。 ```csharp public class CustomListViewItem : ListViewItem { public CheckBox CheckBox { get;...
自定义ListView是开发者经常需要面对的任务,因为默认的ListView可能无法满足所有需求。本文将深入探讨如何通过适配器(Adapter)和自定义布局来实现一个功能丰富的自定义ListView。 一、适配器(Adapter)的理解与...
自定义ListView是为了满足更复杂的需求,比如添加特定的视图元素、实现特殊的功能或者优化性能。在这个例子中,我们关注的是“自定义含多选框的ListView”。 自定义ListView主要涉及以下几个方面: 1. **适配器...
自定义的listview来做的,本来的思路是自定义item的根...于是改用自定义listview,结果很喜人,个人觉得比较完美,支持3.0以下, 由于是属性动画需要支持到3.0以下,所以使用了nineoldandroid这个开源的属性动画库。
`1.8 自定义ListView中的行`这个主题主要涉及如何根据应用需求调整ListView中每一行的显示样式,使其更加个性化和符合用户界面设计。以下将详细介绍这个过程,以及相关的知识点。 首先,自定义ListView的行通常涉及...
Adapter负责将数据转化为View,然后ListView通过滚动来复用这些View,达到高效的显示效果。 1. **自定义圆角ListView项** 要创建圆角ListView项,通常有两种方法: - **方式一:使用XML布局**:在定义ListView项...
本篇将详细讲解如何通过自定义ListView轻松实现360软件详情页的效果,即ListView滑动到顶部时固定头部视图。 首先,"360软件详情页"的效果通常包含一个固定的头部视图,当用户滚动列表时,头部视图始终保持在屏幕...
1. **创建自定义ListViewItem**: 首先,你需要创建一个继承自`System.Windows.Forms.ListViewItem`的自定义类。在这个类中,可以添加额外的属性和方法,用于存储和操作你想要添加的新控件。 2. **添加控件到...
它允许用户滚动查看信息,而自定义ListView则是为了满足特定需求,如提供独特的视图样式、交互效果或者复杂的数据处理。本教程将深入探讨如何通过自定义ListView来实现联系人排序功能。 首先,我们需要了解ListView...
- 自定义页面主要指的是自定义ListView的每个item视图。在`getView()`方法中,你可以根据数据动态地设置每个item的布局和内容。 - 另外,还可以自定义ListView的头视图和脚视图,比如添加广告、提示信息等。这可以...
自定义ListView的背景不仅可以提升应用的视觉效果,还能提供更个性化的用户体验。本篇将深入探讨如何在Android中实现自定义ListView背景,并结合源码分析和实用工具来增强我们的开发能力。 1. **自定义背景的基本...