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)运用的更多相关文章

  1. Android开发系列(十九个):至SimpleAdapter设置样式

    Adapter任务:在数据adapter处理后做.展会上的观点 对于一般ArrayAdapter供.传递给ArrayAdapter之后就能够在视图上用一个列表显示出这个字符串数组. 比例如以下边的代码 ...

  2. Android开发4: Notification编程基础、Broadcast的使用及其静态注册、动态注册方式

    前言 啦啦啦~(博主每次开篇都要卖个萌,大家是不是都厌倦了呢~) 本篇博文希望帮助大家掌握 Broadcast 编程基础,实现动态注册 Broadcast 和静态注册 Broadcast 的方式以及学 ...

  3. Android开发3:Intent、Bundle的使用和ListView的应用 、RelativeLayout(相对布局)简述(简单通讯录的实现)

    前言 啦啦啦~博主又来骚扰大家啦~大家是不是感觉上次的Android开发博文有点长呢~主要是因为博主也是小白,在做实验的过程中查询了很多很多概念,努力去理解每一个知识点,才完成了最终的实验.还有就是随 ...

  4. Android开发实例-健康食谱应用(一)

    转载请注明出处:http://blog.csdn.net/einarzhang/article/details/44774635 本系列文章的重点是如何使用Android开发一个简单的健康食谱软件.使 ...

  5. android 28 SimpleAdapter

    监听器返回fasle,则事件还会分发给其他监听器. SimpleAdapter是BaseAdapter的子类,对适配器进行了简化,数据的格式是List,List的元素必须是Map, public Si ...

  6. android开发_SimpleAdapter适配器

    android开发_SimpleAdapter适配器   新建项目: 项目结构: drawable-hdpi文件夹中的图片是自己加入的.主要是在菜单选项中显示的图片: 运行效果: 代码部分: main ...

  7. 【转】Android开发笔记(序)写在前面的目录

    原文:http://blog.csdn.net/aqi00/article/details/50012511 知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面希望通过分享自己的经 ...

  8. Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式

    Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式 Fragment FragmentManager frag ...

  9. 「Android 开发」入门笔记

    「Android 开发」入门笔记(界面编程篇) ------每日摘要------ DAY-1: 学习笔记: Android应用结构分析 界面编程与视图(View)组件 布局管理器 问题整理: Andr ...

随机推荐

  1. (转)Javascript匿名函数的写法、传参、递归

    (原)http://www.veryhuo.com/a/view/37529.html (转)javascript匿名函数的写法.传参和递归 javascript匿名函数的写法.传参和递归 http: ...

  2. UITabBarController常见代理方法的使用

    //下面两个函数是成对出现的若第一个函数返回YES那么第二个方法自动触发执行 //是否允许选择不同的Item触发后续操作,YES是允许,NO是不允许 -(BOOL)tabBarController:( ...

  3. mudOS源码 options.h配置详细选项

    /* options.h配置详细选项—————————————————————————-将 MudOS 下载解压以后可以在相应目录的根目录中找到 options.h 这个文件.如果修 改了这个文件,那 ...

  4. 构建一个简单的WCF应用——WCF学习笔记(1)

    通过<WCF全面解析>来知识分享....感谢蒋金楠老师@Artech 一.VS中构建解决方案   Client一个控制台程序模拟的客户端,引用Service.ServiceModel.dl ...

  5. 将JZ2440的调试串口换成com2

    众所周知JZ2440 V3很小巧,精致.今天单就JZ2440的串口来讨论一些问题.我们在用串口进行调试的时候,需要用JZ2440自带的一根USB线连接电脑USB口和开发板的USB-com1口.先来看一 ...

  6. python 函数可变长参数

    python中的可变长参数有两种: 一种是非关键字参数(*元组),另一种是关键字参数(**字典) 非关键字可变长参数: """ 非关键字可变参数,一个星号作为元组传入函数 ...

  7. Python Webk框架学习 Flask

    Flask是一个使用Python编写的轻量级Web应用框架.基于Werkzeug WSGI工具箱和Jinja2 模板引擎. Flask使用BSD授权.Flask也被称为“microframework” ...

  8. popToViewController和dismissviewcontroller的用法

    如果我们有ABC三个controller 1.使用present从A到B.再present到C.如果我们想从C直接回到A的话.直接使用 self  dismissViewControllerAnima ...

  9. Nginx-限制汇总

    http块 limit_conn_zone $binary_remote_addr zone=connperip:10m; limit_conn_zone $server_name zone=conn ...

  10. Yii2 AR find用法 (2016-05-18 12:06:01)

    Yii2 AR find用法 (2016-05-18 12:06:01) 转载▼     User::find()->all();    返回所有数据   User::findOne($id); ...