ListView与SimpleAdapter
Adapter可以视作控件与数据之间的桥梁
对ListView做自由布局和填充需要使用到Adapter,这里我们采用SimpleAdapter。
简单来说:
1.定义一个ListItem,其数据结构是一个元素为HashMap的ArrayList。
2.填充ListItem
3.使用一个SimpleAdapter将ListItem与Item.xml关联起来
4.将ListView与SimpleAdapter关联起来
逻辑关系用VISO表示如下:
下面是代码:
MainActivity.java
- public class MainActivity extends ActionBarActivity {
- ListView list;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- list = (ListView)findViewById(R.id.list1);
- 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("ItemImage",R.drawable.icon);
- map.put("ItemTitle",i+"row");
- listItem.add(map);
- }
- SimpleAdapter mSimpleAdapter = new SimpleAdapter(this,listItem,R.layout.item,
- new String[]{"ItemImage","ItemTitle","ItemText"},
- new int[]{R.id.ItemImage,R.id.ItemTitle,R.id.ItemText});
- list.setAdapter(mSimpleAdapter);
- }
- }
Item.xml
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_height="fill_parent" android:layout_width="fill_parent">
- <ImageView
- android:layout_alignParentLeft="true" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:id="@+id/ItemImage"/>
- <TextView
- android:id="@+id/ItemTitle"
- android:layout_toRightOf="@+id/ItemImage"
- android:layout_height="wrap_content"
- android:layout_width="fill_parent" android:textSize="20sp"/>
- <TextView
- android:id="@+id/ItemText"
- android:layout_height="wrap_content"
- android:layout_width="fill_parent" android:layout_below="@+id/ItemTitle"/>
- </RelativeLayout>
ListView与SimpleAdapter的更多相关文章
- 滚动视图、列表视图[ListView、SimpleAdapter类]
滚动视图 <ScrollView android: layout_width="fill_parent" android: layout_height="fill_ ...
- 安卓开发_浅谈ListView(SimpleAdapter数组适配器)
安卓开发_浅谈ListView(ArrayAdapter数组适配器) 学习使用ListView组件和SimapleAdapter适配器实现一个带图标的ListView列表 总共3部分 一.MainAc ...
- ListView 搭配SimpleAdapter
这是SimplerAdapter的构造函数 public SimpleAdapter(Context context, List<? extends Map<String, ?>&g ...
- ListView之SimpleAdapter
SimpleAdapter是安卓内置的适配器,本文展示的是listview的子项为{图片,文件}组合 如下图所示: 具体代码: SimpleAdapter_test.java /* ListView ...
- AdapterView及其子类之四:基于ListView及SimpleAdapter实现列表
代码请见SimpleAdapterDemo.zip. 步骤如下: 1.创建主布局文件 <RelativeLayout xmlns:android="http://schemas.and ...
- Android ListView 之 SimpleAdapter 二 (包含 item 中按钮监听)
1 MainActivity.java package com.myadapter; import java.util.ArrayList; import java.util.HashMap; ...
- ListView与SimpleAdapter(三)
一般用于只有两个控件的列表. 使用SimpleAdapter 的数据是以List<Map<String,?>>形式封装数据, List的每一节对应ListView的每一行. H ...
- 关于SimpleAdapter和ListView结合使用,实现列表视图的笔记
使用ListView需要为其添加适配器: 适配器有两种:1.ArrayAdapter --用于单独文字显示 2.SimpleAdapter --用于文字和图片显示 这里主要记录SimpleAdapt ...
- Android中ListView同过自定义布局并使用SimpleAdapter的方式实现数据的绑定
1.listview的数据填充可以通过ArrayAdapter,SimpleAdapter,也可以是一个xml文件,但是ArrayAdapter与SimpleAdapter的区别是: 2 ArrayA ...
随机推荐
- vi编辑器备忘录
1. 基本操作 G 移动到文件最后一行 nG 移动到n行 gg 移动到第一行 N[Enter] 向下移动n行 /word 向下寻找 ?word 向上寻找 n 查找下一个 N 查找上一个 0或者Home ...
- 常用css搜集
div居中显示 position: fixed; top: 130px; left:0px;right:0px;margin-left:auto;margin-right:auto;
- 安装wine
sudo add-apt-repository ppa:ubuntu-wine/ppa sudo apt-get update sudo apt-get install winetricks
- Linux抓包工具:tcpdump
tcpdump 是一个命令行实用工具,允许你抓取和分析经过系统的流量数据包.它通常被用作于网络故障分析工具以及安全工具. tcpdump 是一款强大的工具,支持多种选项和过滤规则,适用场景十分广泛.由 ...
- JS字符串与二进制的相互转化
//字符串转ascii码,用charCodeAt(); //ascii码转字符串,用fromCharCode(); var str = "A"; var code = str.ch ...
- Hadoop 2.7.2 集群搭建(转载)
http://blog.csdn.net/u010048823/article/details/51913608
- python爬虫学习(一)
#简单例子:抓取网页全部内容后,根据正则表达式,获取符合条件的字符串列表from urllib import request#正则表达式import re url = "http://www ...
- servlet中this.getServletContext(); this.getServletConfig().getServletContext(); 的区别
WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用.ServletConfig对象中维护了ServletContext对象的引用,开发人 ...
- linux下(ubuntu)反删除(误删恢复)与回收站制作
刚刚有个小伙伴不小心删了他写了好几的天代码,为他心疼之余帮他找回了文件. 想到我之前也常常误删一些文件,就干脆分享一下我的反删除方法,并说说我做的回收站(好low的,求大神指点) 首先是反删除软件ex ...
- WinSock2 API
title: WinSock2 API tags: [WinSock, 网络编程, WinSock2.0 API, 动态加载, WinSock 异步函数] date: 2018-07-21 10:36 ...