`

Android学习之复杂列表显示

 
阅读更多

MyListViewDemo.java:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;

public class MyListViewDemo extends Activity {
	private int pic[] = new int[] { R.drawable.pic_oracle,
			R.drawable.pic_javase, R.drawable.pic_javaweb,
			R.drawable.pic_javaee, R.drawable.pic_android, R.drawable.pic_game };
	private String data[][] = new String[][] { { "Oracle数据库", "张三" },
			{ "Java SE基础课程", "张三" }, { "Java WEB综合开发", "张三" },
			{ "Java EE高级开发", "张三" }, { "Android嵌入式开发", "张三" },
			{ "Java 游戏开发", "张三" } };

	private ListView datalist = null; // 定义ListView组件
	private List<Map<String, String>> list = new ArrayList<Map<String, String>>(); // 定义显示的内容包装
	private SimpleAdapter simpleAdapter = null; // 进行数据的转换操作

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.main);
		this.datalist = (ListView) super.findViewById(R.id.datalist); // 取得组件
		for (int x = 0; x < this.data.length; x++) {
			Map<String, String> map = new HashMap<String, String>(); // 定义Map集合,保存每一行数据
			map.put("pic", String.valueOf(this.pic[x])); // 与data_list.xml中的TextView组加匹配
			map.put("title", this.data[x][0]); // 与data_list.xml中的TextView组加匹配
			map.put("author", this.data[x][1]); // 与data_list.xml中的TextView组加匹配
			map.put("type", "免费");
			map.put("score", String.valueOf(R.drawable.start_05));
			this.list.add(map); // 保存了所有的数据行
		} 
		this.simpleAdapter = new SimpleAdapter(this, this.list,
				R.layout.data_list, new String[] { "pic", "title", "author",
						"type", "score" } // Map中的key的名称
				, new int[] { R.id.pic, R.id.title, R.id.author, R.id.type,
						R.id.score }); // 是data_list.xml中定义的组件的资源ID
		this.datalist.setAdapter(this.simpleAdapter);
	}
}

 

data_list.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="horizontal"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content">
	<ImageView
		android:id="@+id/pic"
		android:layout_height="wrap_content"
		android:layout_width="wrap_content"
		android:padding="3px"/>
	<LinearLayout 
		xmlns:android="http://schemas.android.com/apk/res/android"
		android:orientation="vertical"
		android:layout_width="190px"
		android:layout_height="wrap_content"
		android:gravity="left">
		<TextView 
			android:id="@+id/title"
			android:textSize="16px"
			android:padding="3px"
			android:layout_width="wrap_content"
			android:layout_height="wrap_content" />
		<TextView 
			android:id="@+id/author"
			android:padding="3px"
			android:textSize="10px"
			android:layout_width="wrap_content"
			android:layout_height="wrap_content" />
	</LinearLayout>
	<LinearLayout 
		xmlns:android="http://schemas.android.com/apk/res/android"
		android:orientation="vertical"
		android:layout_width="200px"
		android:layout_height="wrap_content"
		android:gravity="left">
		<TextView 
			android:id="@+id/type"
			android:padding="3px"
			android:layout_width="wrap_content"
			android:layout_height="wrap_content" />
		<ImageView 
			android:id="@+id/score"
			android:padding="3px"
			android:layout_width="wrap_content"
			android:layout_height="wrap_content" />
	</LinearLayout>
</LinearLayout>

 

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView 
		android:layout_width="fill_parent"
		android:layout_height="wrap_content" 
		android:textSize="25px"
		android:gravity="center_horizontal"
		android:text="java开发视频列表" />
	<ListView
		android:id="@+id/datalist" 
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"/>
</LinearLayout>

 

 

 

分享到:
评论

相关推荐

    Android RecyclerView 二级列表实现.zip.zip

    在Android开发中,RecyclerView是一个非常重要的组件,它用于展示可滚动的数据列表,具有高效和灵活的特性。在处理复杂的列表布局时,如二级列表或树形结构的数据展示,RecyclerView能够提供出色的性能和自定义能力...

    Android RecyclerView用法 视频列表 两列

    综上所述,Android RecyclerView是一个强大的工具,通过适配器和布局管理器的灵活配置,可以实现各种复杂的列表展示需求。在实现视频列表的案例中,我们学习了如何设置布局方向、创建适配器、绑定数据以及处理点击...

    Android实战项目复杂的科学计算器源码实例

    在Android开发领域,创建一个复杂的科学计算器应用是一项挑战性任务,因为它涉及到许多核心技术...通过学习和分析这个源码,开发者可以提升其在Android应用开发方面的技能,特别是对于构建复杂交互的应用有极大的帮助。

    android学习之展示图片资源

    ### Android学习之展示图片资源 在Android应用开发中,向用户展示丰富的视觉内容至关重要,而图片作为最常见的元素之一,其展示方式多种多样。本文将详细介绍如何在Android应用程序中使用`ImageView`来展示图片资源...

    android 二级分类列表 listview

    这可能涉及到对子项视图的隐藏与显示,或者使用ExpandableListView等更复杂的组件。 4. **布局设计**:设计一级分类和二级分类的布局文件,一级分类通常显示标题,二级分类则显示具体项目。可以使用LinearLayout、...

    android 逐行显示自动换行的textview

    在Android开发中,文本视图(TextView)是用于展示文本的基本组件。然而,有时我们可能需要实现更复杂的显示效果,比如在应用中播放通知字幕...通过深入学习和实践,你将能够更自如地控制Android应用中的文本显示效果。

    【Android元宇宙】Android 多屏显示-NativeSFDemo

    通过深入学习和实践`NativeSFDemo`,开发者不仅可以提升自己在Android多屏显示领域的专业技能,还可以为构建元宇宙相关的应用程序奠定坚实基础。这有助于创造更加丰富的多用户、多视角的交互体验,推动Android在元...

    android 多级列表treeView

    在Android开发中,多级列表通常用于展示层次结构清晰、数据结构复杂的列表数据,例如文件系统、目录结构或者层级关系的菜单。`TreeView`是一种实现多级列表的有效方式,尤其适用于展示具有递归关系的数据。在给定的...

    Android学习之Activity弹窗

    当我们谈论“Android学习之Activity弹窗”时,我们通常是指在Activity上显示的各种对话框或者浮层,例如AlertDialog、ProgressDialog、PopupWindow等。这些弹窗在应用中起到了提示信息、获取用户输入、展示选项等...

    Android 仿快手视频列表,RecyclerView与Banner联动效果

    在Android开发中,实现类似快手视频列表的效果,通常涉及到`RecyclerView`和`Banner`组件的联动。`RecyclerView`是Google...通过不断地实践和调试,开发者可以掌握这种复杂的UI设计技巧,提升自己的Android开发技能。

    android入门学习资料

    本套学习资料旨在帮助初学者快速掌握Android开发的基本技能,内容涵盖Android开发中文文档以及一系列由eoeAndroid推出的特刊,为您的学习之路提供全面而深入的指导。 首先,我们关注的是《Android开发指南中文版....

    Android 列表上滑 隐藏布局 下拉显示

    在Android开发中,"Android 列表上滑 隐藏布局 下拉显示"是一个常见的交互设计,它通常用于实现如头部广告、导航栏或者搜索框等元素的动态展示效果。当用户向上滚动列表时,这些布局会逐渐隐藏,而下拉时则重新出现...

    Android开发学习笔记

    ### Android开发学习笔记 #### Button按钮的实现与交互 在Android开发中,`Button`控件是最常用的用户界面元素之一,用于触发特定的操作...这些是构建复杂用户界面的基础,掌握它们对于深入学习Android开发至关重要。

    Pro Android学习:Menu

    本学习笔记主要关注如何在Android中创建和使用Menu,包括Menu的基本结构、菜单项的定义、菜单事件的处理以及自定义菜单样式等方面。下面我们将深入探讨这些知识点。 首先,Menu在Android中主要用于在特定时刻显示一...

    android特效实现复杂数学公式.rar

    总结来说,"android特效实现复杂数学公式.rar"的压缩包提供了一种在Android应用中展示复杂数学公式的解决方案,通过使用MathView库,开发者可以轻松地将LaTeX或MathML公式集成到自己的应用中,提升用户的学习和阅读...

    【Android元宇宙】Android 12(S) 图形显示系统 - 示例应用NativeSFDemo

    在Android 12(S)中,图形显示系统的改进是其重要特性之一,它旨在提升性能、优化渲染效率并增强用户体验。这个名为"NativeSFDemo"的示例应用旨在展示这些新特性和功能,帮助开发者更好地理解和利用Android最新的图形...

    Android高级应用源码-显示在一个半圆列表项,一个不错的鱼眼效果.rar

    学习这个源码可以帮助你深入理解Android图形绘制和动画机制,以及如何在实际项目中实现复杂的视觉效果。你可以通过阅读源码,分析绘制逻辑,以及与标准ListView或RecyclerView的对比,来提升自己的Android开发技能。...

    android图片显示处理

    在Android平台上,图片显示处理是一项常见的任务,涉及到用户体验和应用性能优化。`android图片显示处理`这个主题主要包括了如何在Android应用中加载、显示以及优化图片。Actionbar和Frame是两个关键概念,Actionbar...

    Android 学习资料

    这个名为“Android学习资料”的压缩包包含了一系列有助于理解Android开发核心概念的资源。以下是对每个文件内容的详细解释: 1. **Android高级编程.pdf**:这本书可能涵盖了Android开发的进阶主题,包括但不限于...

    Android-Android复杂红包雨实现带点击事件处理

    在Android开发中,实现一个复杂的红包雨效果是一个挑战性的任务,尤其当涉及到用户交互和事件处理时。...通过学习和实践这样的项目,开发者可以更深入地理解Android系统的底层机制和高性能应用的构建。

Global site tag (gtag.js) - Google Analytics