android开发--(SimpleAdapter)运用
SimpleAdapter的参数说明
第一个参数 表示访问整个android应用程序接口,基本上所有的组件都需要
第二个参数表示生成一个Map(String ,Object)列表选项
第三个参数表示界面布局的id 表示该文件作为列表项的组件
第四个参数表示该Map对象的哪些key对应value来生成列表项
第五个参数表示来填充的组件 Map对象key对应的资源一依次填充组件 顺序有对应关系
布局和上一篇一样,还是用ListView控件,显示方式不一样,上一篇使用BaseAdapter(),这篇使用SimpleAdapter();
效果如下

代码:
public class MainActivity extends Activity {
private ListView lv;
private SimpleAdapter mp;
//集合
private List<mess> messagetlist=new ArrayList<mess>();
private List<Map<String,Object>> messagetlist2=new ArrayList<Map<String,Object>>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.wei);
//循环读取数据,模仿数据库
for (int i = 0; i <50; i++) {
//定义一个界面与数据的混合体,一个item代表一行记录
Map<String,Object> item=new HashMap<String,Object>();
//一行记录,包含多个控件
item.put("img",R.drawable.lad);
item.put("name","少年");
item.put("mess","过的怎么样啊");
item.put("date","11-28");
messagetlist2.add(item);
}
//查找listView1对象
lv=(ListView)findViewById(R.id.listView1);
mp=new SimpleAdapter(this,
messagetlist2,//data 不仅仅是数据,而是一个与界面耦合的数据混合体
R.layout.img,
new String[]{"img","name","mess","date"},
new int[]{R.id.imageView1,R.id.name,R.id.mess,R.id.date});
lv.setAdapter(mp);
}
});
刷新Listview,这里是把少年改为青年
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parment, View view, int position,
long id) {
Map<String,Object> item=messagetlist2.get(position);
item.put("name","青年");
mp.notifyDataSetInvalidated();
}
长按Item,出现菜单栏,效果:

代码:
lv.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
public void onCreateContextMenu(ContextMenu conMenu, View view , ContextMenuInfo info) {
conMenu.setHeaderTitle("操作");
conMenu.add(0, 0, 0, "标为未读");
conMenu.add(0, 1, 1, "置顶工作号");
conMenu.add(0, 2, 2, "取消关注");
conMenu.add(0,3,3,"删除该聊天");
}
});
可以去比较下BaseAdapter()和SimpleAdapter()的用法,看下你更适用于哪一种写法。
android开发--(SimpleAdapter)运用的更多相关文章
- Android开发系列(十九个):至SimpleAdapter设置样式
Adapter任务:在数据adapter处理后做.展会上的观点 对于一般ArrayAdapter供.传递给ArrayAdapter之后就能够在视图上用一个列表显示出这个字符串数组. 比例如以下边的代码 ...
- Android开发4: Notification编程基础、Broadcast的使用及其静态注册、动态注册方式
前言 啦啦啦~(博主每次开篇都要卖个萌,大家是不是都厌倦了呢~) 本篇博文希望帮助大家掌握 Broadcast 编程基础,实现动态注册 Broadcast 和静态注册 Broadcast 的方式以及学 ...
- Android开发3:Intent、Bundle的使用和ListView的应用 、RelativeLayout(相对布局)简述(简单通讯录的实现)
前言 啦啦啦~博主又来骚扰大家啦~大家是不是感觉上次的Android开发博文有点长呢~主要是因为博主也是小白,在做实验的过程中查询了很多很多概念,努力去理解每一个知识点,才完成了最终的实验.还有就是随 ...
- Android开发实例-健康食谱应用(一)
转载请注明出处:http://blog.csdn.net/einarzhang/article/details/44774635 本系列文章的重点是如何使用Android开发一个简单的健康食谱软件.使 ...
- android 28 SimpleAdapter
监听器返回fasle,则事件还会分发给其他监听器. SimpleAdapter是BaseAdapter的子类,对适配器进行了简化,数据的格式是List,List的元素必须是Map, public Si ...
- android开发_SimpleAdapter适配器
android开发_SimpleAdapter适配器 新建项目: 项目结构: drawable-hdpi文件夹中的图片是自己加入的.主要是在菜单选项中显示的图片: 运行效果: 代码部分: main ...
- 【转】Android开发笔记(序)写在前面的目录
原文:http://blog.csdn.net/aqi00/article/details/50012511 知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面希望通过分享自己的经 ...
- Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式
Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式 Fragment FragmentManager frag ...
- 「Android 开发」入门笔记
「Android 开发」入门笔记(界面编程篇) ------每日摘要------ DAY-1: 学习笔记: Android应用结构分析 界面编程与视图(View)组件 布局管理器 问题整理: Andr ...
随机推荐
- JDBCl链接中Statement
作用:创建的Statement对象执行SQL语句 (1)对象有Connection对象调用createStatement()方法创建 (2)有Statement对象调用executeUpdate()方 ...
- 电子词典的相关子函数db.c程序
整个电子词典是分块做的:包含的Dic_Server.c,Dic_Client.c,db.c,query.c,xprtcl.c,dict.h,xprtcl.h,dict.txt(单词文件) 下面是db. ...
- Win10/UWP新特性系列—电池报告
UWP中,新增了当节电模式开启时,App能获取到通知的API,通过响应电源条件的更改,比如咨询用户是否使用黑色背景等来帮助延长电池使用时间. 通过Windows.Devices.Power命名空间中的 ...
- <转>两个蛋蛋的故事
来自为知笔记(Wiz)
- 用python+selenium将腾讯首页今日话题的内容自动发表到自己cnblog里
目的:使用pyhton下的unittest单元测试框架并结合selenium的webdriver来实现将腾讯首页的今日话题下的内容自动发表达到自己的cnblog里. 思路:创建QQDailyTopic ...
- cocos2d-x 3.2 listview scorllview 等容器在小米华为等部分手机显示泛白解决
感觉记不住,代码贴上以免以后难找 在proj.android\src\org\cocos2dx\cpp\AppActivity.java 中的 public class AppActivity ext ...
- 通俗理解隐马尔科夫模型HMM(转载)
作者:Yang Eninala 链接:https://www.zhihu.com/question/20962240/answer/33438846 来源:知乎 著作权归作者所有,转载请联系作者获得授 ...
- 关于如何使用Altium Designer 10以上版本官方库
开卷有益:如果本帖不适合在此板块,请斑竹自行删除,发帖的目的纯属报答各位Amofans. Altium公司的Altium Designer 09版本及以下还能到Altium官网下载第三方Labr ...
- 【转载】基于ANSYS APDL的有裂纹平板问题的断裂力学仿真(PLANE183)
原文地址:http://blog.sina.com.cn/s/blog_9e19c10b0102vnw7.html 对于一般的强度问题,我们总是用应力来度量其强度的.但是对于有裂纹的,高强度的构件,使 ...
- 怎样创建FTP服务器
怎样创建FTP服务器 2008-05-06 08:42永远的探索|分类:操作系统/系统故障| 浏览6382次 我准备用局域网内的一台机器做FTP服务器,创建FTP服务器一定要用Windows serv ...