今天做出了一个listView 废话不多,直接上代码
1.首先 在man.xml中 添加一个ListView 添加id为ListView_01
代码:<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ListView_01">
</ListView>
</LinearLayout>
2. 创建一个 listtype.xml 作为 ListView 其中的一项
代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="80dp"
android:orientation="vertical" >
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="68dp"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="50dp"
android:layout_toRightOf="@+id/image"
android:text="这是一行测试文字" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_below="@id/textView1"
android:textSize="10dp"
android:text="这是一行测试文字" />
</RelativeLayout>
3.修改MainActivity.java
package com.Linear;
import java.util.ArrayList;
import java.util.HashMap;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView list = (ListView) findViewById(R.id.ListView_01);
ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();
for (int i = 0; i < 10; i++) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("listImage", R.drawable.ic_launcher);
map.put("listTitle", "Level " + i);
map.put("listText", "liweishigedashuaige");
listItem.add(map);
}
// 生成适配器 的item 和动态数组对应的元素
SimpleAdapter listItemAdapter = new SimpleAdapter(this, listItem,// map
// 资源
R.layout.listtype,// 一项的格式
new String[] { "listImage", "listTitle", "listText" },// Map对象的哪些key对应value来生成列表项
new int[] { R.id.image, R.id.textView1, R.id.textView2 });// 表示来填充的组件
// Map对象key对应的资源一依次填充组件
// 顺序有对应关系
list.setAdapter(listItemAdapter);
}
}
接下来是
SimpleAdapter的参数说明
第一个参数 表示访问整个android应用程序接口,基本上所有的组件都需要
第二个参数表示生成一个Map(String ,Object)列表选项
第三个参数表示界面布局的id 表示该文件作为列表项的组件
第四个参数表示该Map对象的哪些key对应value来生成列表项
第五个参数表示来填充的组件 Map对象key对应的资源一依次填充组件 顺序有对应关系
注意的是map对象可以key可以找不到 但组件的必须要有资源填充 因为 找不到key也会返回null 其实就相当于给了一个null资源
下面的程序中如果 new String[] { "name", "head", "desc","name" } new int[] {R.id.name,R.id.head,R.id.desc,R.id.head}
这个head的组件会被name资源覆盖
相关推荐
在Android开发中,有时我们需要在一个布局中同时展示两个ListView,以实现类似网格或者并排比较的效果。这个场景在处理比如对比列表数据、显示多类别信息等时非常常见。标题"android两列显示两个listview"指的就是...
1. **SwipeRefreshLayout**:Android SDK 提供了一个名为SwipeRefreshLayout的布局容器,它是实现下拉刷新的关键。这个容器可以包含一个子视图,通常是一个ListView或者RecyclerView。当用户从顶部下拉时,...
在Android开发中,ListView是一个非常重要的组件,它用于展示大量数据列表,通常用于实现滚动效果。这个简单的ListView用法例子将帮助初学者理解和掌握如何在实际项目中运用ListView。 首先,我们来了解一下...
实现这个效果的方法有多种,一种是使用布局嵌套,将吸顶视图放在ListView之上,通过监听ListView的滚动事件来改变吸顶视图的可见性;另一种方法是结合使用`CoordinatorLayout`和`AppBarLayout`,这两种组件是Android...
在这个特定的场景下,我们关注的是如何实现ListView的第一行或者任意一行的选中与取消选中功能。 首先,我们需要了解ListView的选中机制。在默认情况下,ListView并不支持单击选中,它通常用于展示数据并处理点击...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。然而,当在ListView的每一项中嵌套EditText时,会遇到一些挑战,主要包括EditText的焦点管理问题和数据错位问题。这两个问题在实际应用...
在Android开发中,ListView是一种常用的组件,用于展示大量的数据列表。然而,当列表项过多时,滚动时表头(Header)会随着滚动消失,给用户查看和理解数据带来不便。为了解决这个问题,开发者通常会实现一个固定...
这个头部视图会显示在ListView的第一项之前,可以用来展示额外的信息,比如广告、提示或导航元素。 添加头部到ListView主要有以下两种方法: 1. **使用HeaderView参数**: 在`Adapter`的构造函数中,我们可以传入...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。当开发者希望将列表项展示为具有视觉吸引力的卡片样式时,就会涉及到“Android ListView卡片效果”。这种效果不仅提升了用户界面的美观度,...
- 可以通过第三方库如SwipeRefreshLayout实现下拉刷新,ListView配合FootView实现上拉加载更多。 9. **分组列表**: - 对于需要分组的列表,可以使用ExpandableListView,它支持子项展开和收起。 理解并掌握...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。在本文中,我们将深入探讨如何在Android Studio中实现ListView的动态增加以及左滑删除功能,这将帮助你构建更加用户友好的应用程序。 首先...
在Android开发中,ListView是一个非常常用的组件,用于展示大量数据列表。然而,为了提供更好的用户体验,许多应用都引入了下拉刷新的功能,使得用户在顶部拉动列表时可以更新数据。本教程将指导你在Android Studio...
"android listview左划删除"是ListView的一个常见扩展功能,允许用户通过手势左滑列表项来显示一个删除按钮,进而实现快速删除操作。这个特性提高了用户体验,使得用户能够更直观地对列表中的条目进行管理。 要实现...
本教程将引导你实现一个简单的仿通讯录ListView小例子,通过这个实例,你可以学习到如何在Android中有效地利用ListView来创建交互式用户界面。 首先,我们需要了解ListView的基本结构。ListView由多个列表项(list ...
// 设置第一条为默认选中 adapter = new MyAdapter(this, items); listView.setAdapter(adapter); ``` 三、使用ListViewTest项目 在提供的`ListViewTest`项目中,你可以找到类似的实现方式。项目的代码会包含一个...
3. **选择监听**:为第一个ListView设置OnItemClickListener。在监听器的onItemClick方法中,获取被选中的项,并根据其索引或内容来决定第二个ListView应加载哪些数据。 4. **同步更新**:在监听器内部,调用第二个...
在Android开发中,ListView是一个非常重要的组件,它用于展示大量数据的列表,用户可以通过滚动查看更多的条目。这个教程将详细介绍Android ListView的基本用法。 ### 1. 添加ListView到布局 首先,在XML布局文件...
1. **自定义ListView的Adapter**:创建一个继承自BaseAdapter的类,重写`getView()`方法以根据数据生成对应的视图。在这个方法里,你可以设计每个列表项的布局,比如使用不同的图片、文字颜色和大小等,以模仿iPhone...
在Android开发中,ListView是一个非常重要的组件,它用于展示大量数据的列表,通常用于实现滚动效果。本示例将深入探讨如何在Android应用中使用ListView,包括它的基本使用、适配器(Adapter)机制以及一些高级特性...
这种自定义ListView通常通过继承ListView或者使用第三方库来实现,例如`SlideExpandListview`可能就是一个实现了此类功能的库。开发者需要关注以下几个关键知识点: 1. **自定义Adapter**: - 首先,你需要创建一...