下面的xml文件中定义了一个ListView,ListView中将会显示由SimpleAdapter提供的列表项。

android:id="@+id/activity_main"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="horizontal">

android:id="@+id/myList"

android:layout_width="match_parent"

android:layout_height="wrap_content" />

接下来是在之前的代码基础上修改而来的Activity的代码。

package com.toby.personal.testlistview;

import android.app.Activity;

import android.os.Bundle;

import android.widget.ListView;

import android.widget.SimpleAdapter;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

public class MainActivity extends Activity {

private String[] array1 = new String[]{"C", "C++", "Qt", "QML"};

private String[] array2 = new String[]{"001", "002", "003", "004"};

private int[] imageIds = new int[]{R.drawable.dog_001, R.drawable.dog_002

, R.drawable.dog_003, R.drawable.dog_004};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

List> listItems = new ArrayList<>();

for (int i = 0; i < array1.length; ++i) {

Map listItem = new HashMap<>();

listItem.put("array1", array1[i]);

listItem.put("array2", array2[i]);

listItem.put("image", imageIds[i]);

listItems.add(listItem);

}

SimpleAdapter simpleAdapter = new SimpleAdapter(this, listItems, R.layout.simple_item,

new String[]{"array1", "array2", "image"},

new int[]{R.id.array1, R.id.array2, R.id.image});

ListView listView = (ListView) findViewById(R.id.myList);

listView.setAdapter(simpleAdapter);

}

}

R.layout.simple_item对应的布局文件如下:

android:orientation="vertical" android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/image"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

android:id="@+id/array1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="20sp"

android:textColor="#f0f"

/>

android:id="@+id/array2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="14sp"

/>

我们可以通过为ListView添加监听器的方式来监听ListView的列表项的事件

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView> adapterView, View view, int i, long l) {

Log.d(TAG, array1[i] + " is clicked.");

}

});

参考文献:《疯狂Android讲义(第2版)》

代码创建listview android,android ListView 示例4 使用 SimpleAdapter 创建 ListView相关推荐

  1. android数据库降级_Android SQLite (二.数据库创建,升级及降级)

    上篇文章简介和常用语法介绍了SQLite数据库的基本信息和一些常用的语法操作,本篇文章主要介绍Android开发过程中SQLite数据库的创建使用和常见问题处理. 一.SQLiteOpenHelper ...

  2. Android学习笔记 2.5.3 实例——使用SimpleAdapter创建ListView 2.5.4 自动完成文本框(AutoCompleteTextView)的功能与用法

    Android学习笔记 疯狂Android讲义 文章目录 Android学习笔记 疯狂Android讲义 第2章 Android 应用的界面编程 2.5 第4组 UI组件:AdapterView及其子 ...

  3. android 分组 listview,Android实现的ListView分组布局改进示例

    本文实例讲述了android实现的listview分组布局改进方法.分享给大家供大家参考,具体如下: 由于是在网上转载的一篇文章,在这里就不多说废话了,首先看一下最终的效果图: 然后是实现该listv ...

  4. Android eclipse实现创建水果表并添加信息,将其以ListView控件显示

    Android eclipse实现创建水果表并添加信息,将其以ListView控件显示 整个程序包含:三个.java文件以及两个.xml文件 1.Fruit.java: package com.gpn ...

  5. android listview 自定义控件,Android 自定义弹性ListView控件实例代码(三种方法)

    关于在Android中实现ListView的弹性效果,有很多不同的方法,网上一搜,也有很多,下面贴出在项目中经常用到的两种实现ListView弹性效果的方法(基本上拿来就可以用),供大家参考: 弹性L ...

  6. Android代码 listview选中,android自定义listview的选中状态

    中心思想:将选中状态设置为完全透明色(即看不到自定义的选中状态)然后将listview 的每一项的背景设置为选中则切换背景 1,选择2个图片一个为一般的显示状态,另一张为选中状态的图片 在drawab ...

  7. Android零基础入门第44节:ListView数据动态更新

    2019独角兽企业重金招聘Python工程师标准>>> 经过前面几期的学习,关于ListView的一些基本用法大概学的差不多了,但是你可能发现了,所有ListView里面要填充的数据 ...

  8. Android实现Excel数据导入SQLlite,并用ListView展示。并且实现模糊查询

    Android实现Excel数据导入SQLlite,并用ListView展示.实现模糊查询 前言 今天朋友提出一个需求,有一个Excel表格,需要实现把每项数据展示出来,并且可以用某一项来进行查询筛选 ...

  9. android listview 游标,Android Listview - 使用游标时无法选择多个项目

    我有一个listview填充了使用SimpleCursorAdapter的游标数据.我想这样做,所以我可以选择多个项目,每个项目都有一个复选框,但我只能一次检查一个项目,即每次选择一个项目时,它将清除 ...

最新文章

  1. Nginx配置实例-动静分离实例:搭建静态资源服务器
  2. python 删除文件、目录_python实现删除文件与目录的方法
  3. 中小型互联网企业迁移上云,保证云端资源安全迁移
  4. ndnsim r语言 ubuntu_Ubuntu14.04安装配置ndnSIM
  5. fir.im同款企业级APP分发平台系统源码
  6. 深入理解虚拟机之虚拟机类加载机制
  7. 如何注册申请 Google AdSense
  8. 深入浅出hive-hive简介
  9. python爬取cnnvd,粘贴可用
  10. c语言单元测验答案,c语言试题及答案
  11. 《剑来》语句摘录(七)
  12. 2017企业咨询服务公司排行榜
  13. 最新国产电源厂家及具体型号pin-to-pin替代手册发布
  14. main函数中的argc和argv
  15. 阿里云服务器ECS搭建EMQ快速实现MQTT通信
  16. cad线性标注命令_CAD尺寸标注命令
  17. OpenCV中GPU版MOG2的使用
  18. 【StoneDB join 算法分析】查询模块
  19. xml元素 标签 属性
  20. 2022.02.23

热门文章

  1. oracle删除universal,Oracle自带的Universal Installer卸载存在问题
  2. spring boot 源码_springboot源码架构解析listener
  3. java setstate,5.state更新流程(setState里到底发生了什么)
  4. mysql删除表外键_MySQL删除所有表的外键约束、禁用外键约束
  5. 计算机算法设计与分析 大学生电影节观影问题
  6. 胜利大逃亡 三维BFS
  7. 机器学习的基本概念和相关术语
  8. I - Arbitrage(判断是否有无正环 II)
  9. 【已解决】SyntaxError: Non-UTF-8 code starting with ‘\xe4‘ in file
  10. R语言中按某个符号来分割字符串