【Android 基础】SimpleAdapter的简单使用
来源:互联网 发布:linux nls 简体中文 编辑:程序博客网 时间:2024/05/23 23:44
现在想要使用该适配器做出下面的效果:
废话不多说,直接贴出代码:
setContentView(R.layout.activity_main);所加载的布局文件:
<ListView android:id="@+id/list_test" android:layout_width="wrap_content" android:layout_height="wrap_content"> </ListView>具体样式布局文件:
<?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" android:orientation="horizontal"> <!--这是一个用于显示头像的ImageView--> <ImageView android:id="@+id/imgtou" android:layout_width="64dp" android:layout_height="64dp" android:baselineAlignBottom="true" android:paddingLeft="8dp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="8dp" android:textColor="#1D1D1C" android:textSize="20sp"/> <TextView android:id="@+id/says" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="8dp" android:textColor="#B4B4B9" android:textSize="14sp"/> </LinearLayout></LinearLayout>
关键代码:
package com.example.administrator.simpleadapter;import android.support.annotation.NonNull;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.Collection;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Set;public class MainActivity extends AppCompatActivity { //用三个数组装载数据 private String[] names = new String[]{"大雄", "叶子", "吴叶"}; private String[] says = new String[]{"无敌学渣", "无敌美女", "无敌可爱"}; private int[] imgIds = new int[]{R.mipmap.icon1, R.mipmap.icon2, R.mipmap.icon3}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); List<Map<String, Object>> listitem = new ArrayList<Map<String, Object>>(); for (int i = 0; i < names.length; i++) { Map<String, Object> showitem = new HashMap<String, Object>(); showitem.put("touxiang", imgIds[i]); showitem.put("name", names[i]); showitem.put("says", says[i]); listitem.add(showitem); } //创建一个simpleAdapter SimpleAdapter myAdapter = new SimpleAdapter(getApplicationContext(),listitem, R.layout.list_item,new String[]{"touxiang","name","says"}, new int[]{R.id.imgtou,R.id.name,R.id.says}); ListView listView = (ListView)findViewById(R.id.list_test); listView.setAdapter(myAdapter); }}
这样就可以达到本文一开始贴出来的效果了。
可能大家不太了解的就是其适配器的构造函数的具体参数(下面贴出来)
翻译如下:(如果翻译的不准请指出哈)
context 当前视图所关联的且正在使用的适配器所处的上下文对象
data 一个Map型列表。列表中的每个条目对应于列表中的一行。Map中包含每一行的数据,并且包括所有的条目(其被详细说明在数据源处)
( 把data理解为要装载的数据即可)
resourse 一个View布局的资源标记,其定义了布局中的列表项,布局文件至少包含那些需要展示的视图项
(就是想要展示的布局样式)
form 列名的列表,其在Map中对应着每一项数据item
(就是定义的Map<String,Object>中的String 数组)
to 根据‘form’参数可以得到的数值,对应的值就是根据其‘from’参数的列表的某个值所得到的。
(就是定义的Map<String,Object>中的Object数组)
PS:若有任何问题,欢迎和我交流哈
0 0
- 【Android 基础】SimpleAdapter的简单使用
- SimpleAdapter的简单使用
- GridView+SimpleAdapter的简单使用
- Android基础学习之ArrayAdaptery以及SimpleAdapter的使用
- Android实例demo11之listview的简单使用(arrayadapter、simpleadapter)
- [Android开发]SimpleAdapter的使用
- Android之SimpleAdapter的使用
- Android开发——简单使用SimpleAdapter
- android组件ListView之SimpleAdapter简单使用
- Android开发SimpleAdapter的简单用法
- Android中关于SimpleAdapter的简单理解
- Android-简单适配器SimpleAdapter的用法
- SimpleAdapter使用简单介绍
- Android中GridView的使用——使用自带的SimpleAdapter(简单适配器)
- Android中GridView的使用——使用自带的SimpleAdapter(简单适配器)
- Android杂谈--ListView之SimpleAdapter的使用
- Android之ListView与SimpleAdapter的使用
- Android杂谈--ListView之SimpleAdapter的使用
- Java基本类型、基本数据类型之间的转换
- 思考
- 排序
- 算法的时间复杂度和空间复杂度
- 2016年5月1日--2016年5月5日(突破7000小时了,9小时,剩3000小时)
- 【Android 基础】SimpleAdapter的简单使用
- vijosP1143三取方格 多线程dp
- 博客
- Glob通配符
- 数据库设计三大范式
- [Lesson Learn] LeetCode #1 Two Sum
- 在Windows上安装Docker
- ACM--BFS--nyoj 58--最少步数
- Dev-C++ 配置SDL开发环境