2019独角兽企业重金招聘Python工程师标准>>>

  1. package com.example.listviewselectmode;

  2. import android.R.integer;

  3. import android.os.Bundle;

  4. import android.app.ListActivity;

  5. import android.app.ListActivity;

  6. import android.view.ActionMode;

  7. import android.view.Menu;

  8. import android.view.MenuItem;

  9. import android.widget.AbsListView.MultiChoiceModeListener;

  10. import android.widget.ArrayAdapter;

  11. import android.widget.ListView;

  12. import android.widget.Toast;

  13. public class MainActivity extends ListActivity {

  14. String[] itemsStrings={"a","b","c","d","e"};

  15. @Override

  16. protected void onCreate(Bundle savedInstanceState) {

  17. super.onCreate(savedInstanceState);

  18. ListView listView=getListView();

  19. //注意此处没有setContentView那一项

  20. listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);

  21. listView.setMultiChoiceModeListener(new ModeChoice());

  22. //注意该adapter的第二个参数为android.R.layout.simple_list_item_checked

  23. ArrayAdapter<String> adapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_checked, itemsStrings);

  24. setListAdapter(adapter);

  25. }

  26. @Override

  27. protected void onPostCreate(Bundle savedInstanceState) {

  28. // TODO Auto-generated method stub

  29. getActionBar().setTitle("long press to select");

  30. super.onPostCreate(savedInstanceState);

  31. }

  32. class ModeChoice implements MultiChoiceModeListener{

  33. @Override

  34. public boolean onActionItemClicked(ActionMode mode, MenuItem item) {

  35. // TODO Auto-generated method stub

  36. int count=getListView().getCheckedItemCount();

  37. switch (item.getItemId()) {

  38. case R.id.share:

  39. Toast.makeText(getApplicationContext(), "you share "+count+"项", 1000).show();

  40. break;

  41. default:

  42. Toast.makeText(MainActivity.this, "Clicked " + item.getTitle(),

  43. Toast.LENGTH_SHORT).show();

  44. break;

  45. }

  46. return true;

  47. }

  48. private void setSubtitle(ActionMode mode) {

  49. // TODO Auto-generated method stub

  50. int count=getListView().getCheckedItemCount();

  51. switch (count) {

  52. case 0:

  53. mode.setSubtitle("");

  54. break;

  55. case 1:

  56. mode.setSubtitle("you select one item");

  57. break;

  58. default:

  59. mode.setSubtitle("you select"+count+"items");

  60. break;

  61. }

  62. }

  63. @Override

  64. public boolean onCreateActionMode(ActionMode mode, Menu menu) {

  65. // TODO Auto-generated method stub

  66. getMenuInflater().inflate(R.menu.main, menu);

  67. mode.setSubtitle("select item");

  68. setSubtitle(mode);

  69. //此处需注意需要返回true

  70. return true;

  71. }

  72. @Override

  73. public void onDestroyActionMode(ActionMode mode) {

  74. // TODO Auto-generated method stub

  75. }

  76. @Override

  77. public boolean onPrepareActionMode(ActionMode mode, Menu menu) {

  78. // TODO Auto-generated method stub

  79. return false;

  80. }

  81. @Override

  82. public void onItemCheckedStateChanged(ActionMode mode, int position,

  83. long id, boolean checked) {

  84. // TODO Auto-generated method stub

  85. setSubtitle(mode);

  86. }

  87. }

  88. }

转载于:https://my.oschina.net/u/1015229/blog/391499

listview 的 selection mode 训练小例子相关推荐

  1. 深度学习与计算机视觉系列(9)_串一串神经网络之动手实现小例子

    深度学习与计算机视觉系列(9)_串一串神经网络之动手实现小例子 作者:寒小阳  时间:2016年1月.  出处:http://blog.csdn.net/han_xiaoyang/article/de ...

  2. QML - 小例子 - 文件目录浏览器

    QML - 小例子 - 文件目录浏览器 QML写动画比较方便,参考QML提供的例子写了如下在Android上可用的文件目录浏览器(电脑端其实也可用,只是还不完整) 以上这两张截图是在电脑上直接运行时的 ...

  3. Tensorflow神经网络框架 小例子 三层神经网络 卷积神经网络 循环神经网络 神经网络可视化

    Tensorflow神经网络框架 以前我们讲了神经网络基础,但是如果从头开始实现,那将是一个庞大且费时的工作,所以我们选择一条捷径---神经网络框架.我理解的神经网络框架就相当于一个工具包.就比如我们 ...

  4. CapsuleNet的一个小例子

    引用YouTube上一个up主的视频,讲解一个capsulenet的一个小例子 识别的过程 假设我们要识别右面的"船",经过卷积得到2个识别矩形和三角形的胶囊(即向量,之前一篇博客 ...

  5. 生成句法分析树以及从一个小例子来看词义消歧及语义角色标注

    一.生成句法分析树 把一句话按照句法逻辑组织成一棵树,由人来做这件事是可行的,但是由机器来实现是不可思议的,然而算法世界就是这么神奇,把一个十分复杂的过程抽象成仅仅几步操作,甚至不足10行代码,就能让 ...

  6. Qt 小例子学习44 - 磁贴界面

    Qt 小例子学习44 - 磁贴界面 FormModel.h #ifndef FORMMODEL_H #define FORMMODEL_H#include <QAbstractListModel ...

  7. OOM问题小例子及思考

    目录 一.背景介绍 二.思路&方案 三.过程 四.总结 五.升华 一.背景介绍 前段时间朋友新进入一个公司,遇到线上系统cpu飙高,内存占满情况:和他交流过后有了本篇总结,该博文会以一个简单的 ...

  8. python编程人工智能小例子,python人工智能算法代码

    python 怎么实现人工智能 一.Python是解释语言,程序写起来非常方便写程序方便对做机器学习的人很重要. 因为经常需要对模型进行各种各样的修改,这在编译语言里很可能是牵一发而动全身的事情,Py ...

  9. c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...

    这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...

最新文章

  1. 谷歌机器人业务重组 花里胡哨没有用 要做实干家
  2. [转载]WebForm下使用 jQuery.loadUserControl异步load用户控件
  3. 小工具发布,QCountDown-语音倒计时
  4. oracle全局索引 效率,关于插入,全局索引和局部索引的情况,那种效率高
  5. 爱立信CEO:全球芯片短缺可能持续到2022年
  6. 【最小生成树】Prim算法和Kruskal算法的区别对比
  7. GDAL的一个BUG
  8. html页面画一个矩形,使用HTML5 canvas绘制一个矩形的方法
  9. 大数模拟——K - Large Division LightOJ - 1214
  10. springmvc或者springboot 中实现跨域的5种方式
  11. paip.验证码识别----判断汉字还是英文
  12. SpringBoot项目防止Sql注入
  13. Mac野外动物高清动态桌面壁纸
  14. 京东X无人超市布局瞄准加油站,下一个场景会在哪儿
  15. 读coco数据集的代码接口了解segmentation的处理方法
  16. 缩放指数型线性单元(SELU)
  17. Ubuntu安装蓝牙驱动
  18. 河南对口升学计算机考纲,2018年河南省对口升学考纲.
  19. Attach机制实现完全解读
  20. (windows) node-sass 安装报错

热门文章

  1. 使用hyper-v、CentOS学习Linux基本概念和命令
  2. 超图js版本在地图上使用图标标记地理点
  3. windbg查看设备栈设备树学习总结
  4. 搞定JSP第一个Servlet例子并且还是手动编译
  5. 分布式常见问题解决方案
  6. 爬取京东网页评论(动态网页)
  7. ubuntu中minicom安装和使用
  8. 201621123024《JAVA程序设计》第四周学习总结
  9. 有关单例模式懒汉式安全的问题(全)
  10. angularJS(5)