ListView学习(二)
来源:互联网 发布:2016十大网络用语作文 编辑:程序博客网 时间:2024/05/16 09:26
在ListView学习(一)中,使用的适配器是是ArrayAdapter,接下来我们改换成SimpleAdapter适配器,并且每一个列表项都显示一张图片和文字
最后实现的结果如下图所示:
说明一下实现的步骤:
1、新建布局文件item.xml
2、新建适配器SimpleAdapter,并引入该布局文件
3、为适配器传入需要的数据(具体在代码中说明)
4、加载适配器,显示出来
新建布局文件item.xml
<?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:src="@mipmap/ic_launcher"/> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content"/></LinearLayout>
MainActivity的文件代码
package com.example.administrator.lis;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.ArrayAdapter;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 AppCompatActivity { private ListView listView; private SimpleAdapter adapter_simple; private List<Map<String,Object>> data = new ArrayList<Map<String,Object>>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView)findViewById(R.id.listview); //参数说明见下图 adapter_simple = new SimpleAdapter(this, getData(), R.layout.item, new String []{"image","text"}, new int[]{R.id.image,R.id.text}); listView.setAdapter(adapter_simple); } public List<Map<String,Object>> getData(){ for (int i=0; i<20; i++){ Map<String, Object> map = new HashMap<String, Object>(); map.put("image",R.mipmap.ic_launcher); map.put("text",""+i); data.add(map); } return data; }}
参数说明:
第一个context参数,上下文,这里使用this即可
第二个data参数,是一个数据源,由Map组成的List集合,
每一个Map都会对应listView的每一行,
每一个Map(键-值对)必须包含所有from参数里面指定的键
第三个参数resource,是布局文件对应的id
第四个参数from是Map中的键名
第五个参数to是布局文件中每一个控件的id,与from成对应关系
<?xml version="1.0" encoding="utf-8"?><LinearLayout 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" tools:context="com.example.administrator.lis.MainActivity"> <ListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Hello World!" /></LinearLayout>
0 0
- ListView学习(二)
- Listview学习(二)
- Android-ListView的学习(二)
- ListView学习实例二
- ListView学习(二)-ListView缓存机制
- C# DataGridView控件与ListView控件的对比学习(二):ListView控件学习
- Android学习笔记(二十):回归简单的ListView
- ListView学习笔记(二)—— ConvertView
- Android学习笔记(四二):SQLite、ListView、ContextMenu
- Android学习笔记(二十):回归简单的ListView
- Android学习笔记(四二):SQLite、ListView、ContextMenu
- Android学习笔记(四二):SQLite、ListView、ContextMenu .
- 学习(二)ListView的几种实现方式
- 【学习笔记】"ListView滑动删除 ,仿腾讯QQ"(二)
- Android学习笔记(二)——两个ListView联动
- ListView详解(二)
- ListView 详解(二)
- Android中Listview(二)--圆角listview
- String类的hashCode方法的算法解读
- [Algorithm]随机发牌
- 中点画椭圆
- Mac Eclipse Grade Web学习笔记
- HDU 1241Oil Deposits (DFS)
- ListView学习(二)
- Android的数据存储方式
- nginx 实现多域名转发到web服务不同路径
- 图片加载库Glide介绍
- JAVA多线程和并发
- JQuery的tree显示处理插件
- 简单理解Socket及TCP/IP、Http、Socket的区别
- 集合超全关系分析
- BITCS2016程序设计 | 19. 微微一笑呵呵呵