SimpleAdapter学习
2016-07-10 09:56
281 查看
这里我先创建一个Item布局文件 <?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"> <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5px" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="22px" android:text="清风徐来" /> <TextView android:id="@+id/info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="15px" android:text="水波不兴"/> </LinearLayout> </LinearLayout> 然后在Main布局添加ListView <?xml version="1.0" encoding="utf-8"?> <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="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.user.android2lesson_02_simpleadapter.MainActivity"> <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/listview"/> </RelativeLayout> 最后写MainActivity package com.user.android2lesson_02_simpleadapter; import android.support.v7.app.AppCompatActivity; 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; //SimpleAdapter是一种基本版的完整的列表视图 public class MainActivity extends AppCompatActivity { // SimpleAdapter可以进行布局文件定制,从而达到自定义的效果 // SimpleAdapter 步骤1:创建一个布局文件,用来给每一个Item(cell)进行布局 // SimpleAdapter 步骤2:在MainActivity布局文件中添加ListView // 步骤2 在布局文件中添加listview // SimpleAdapter 步骤3:声明属性并且进行初始化 private ListView mListView; // ListView在IOS开发里面叫UITableView // iOS里面没有包的概念,有命名空间 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 进行初始化 mListView = (ListView) findViewById(R.id.listview); // SimpleAdapter 步骤4: // 创建一个simple适配器 // 参数1:传递了一个上下文对象 // 参数2:要显示的数据 // 参数3:数据显示的布局文件 // 参数4:数据提取时用到的键 // 参数5:数据对应的布局文件中的控件id SimpleAdapter adapter = new SimpleAdapter(this,getData(),R.layout.list_item_layout,new String[]{"image","title","info"},new int[]{R.id.image,R.id.title,R.id.info}); //SimpleAdapter 步骤5:将adapter和listview进行绑定 mListView.setAdapter(adapter); } // 在这个方法里面进行数据的初始化,拼装要显示的数据 private List<Map<String,Object>> getData(){ List<Map<String,Object>> list = new ArrayList<>(); Map<String,Object> map = new HashMap<>(); map.put("image",R.drawable.ic_launcher); map.put("title","杰尼龟①"); map.put("info","杰尼杰尼"); list.add(map); Map<String,Object> map1 = new HashMap<>(); map1.put("image",R.drawable.ic_launcher); map1.put("title","杰尼龟②"); map1.put("info","杰尼杰尼"); list.add(map1); Map<String,Object> map2 = new HashMap<>(); map2.put("image",R.drawable.ic_launcher); map2.put("title","妙蛙种子"); map2.put("info","种子机关枪"); list.add(map2); return list; } }
相关文章推荐
- 内核增加支持yaffs2错误问题汇总
- 从零开始-uboot的移植-前期准备:uboot是如何启动倒数,启动内核的
- 从零开始-uboot的移植-前期准备:uboot是如何启动倒数,启动内核的
- requests module --客户端请求服务器端
- 【爬虫-反爬虫】系列一:-尾篇(7)
- 字符串匹配的KMP算法
- HDU-2027 统计元音
- 离职信之鸿宇篇
- Android之SurfaceView学习(一)
- java关键字static
- js生成随机数(指定范围)的实例代码
- tinyhttpd源码详解 转载自 技术菌的blog
- maven
- CSP考试 2015年03月第4题 网络延时 C语言实现
- Android开发之scrollview嵌套listview相关布局的解析
- Java读取包内包外的配置文件
- 优秀博客转载
- 【MyBatis框架】mapper配置文件-foreach标签
- 超级星计划
- Economy Game(暴力)