CriminalIntent应用目前不支持删除现有crime记录。请为CrimeFragment添加菜单项,允许用户删除当前crime记录。用户点击删除菜单项后,记得调用CrimeFragment托管活动的finish()方法回退到前一个activity界面。


步骤跟书里添加的那段差不多:

1.创建菜单资源,在res/menu目录下添加fragment_crime.xml文件,图标可以自己做,这里略

1 <?xml version="1.0" encoding="utf-8"?>
2 <menu xmlns:android="http://schemas.android.com/apk/res/android"
3     xmlns:app="http://schemas.android.com/apk/res-auto">
4     <item
5         android:id="@+id/delete_crime"
6         android:icon="@drawable/ic_menu_delete"
7         app:showAsAction="ifRoom|withText"
8         android:title="delete_crime" />
9 </menu>

2.在CrimeFragment.java中,覆盖onCreateOptionsMenu(Menu, MenuInflater)方法,实例化fragment_crime.xml中定义的菜单

1 @Override
2     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
3         super.onCreateOptionsMenu(menu, inflater);
4         inflater.inflate(R.menu.fragment_crime, menu);
5     }

3.定义CrimeFragment.onCreate(Bundle) 方法, 调用setHasOptionsMenu方法让FragmentManager知道CrimeFragment需接收选项菜单方法回调。

1 @Override
2     public void onCreate(@Nullable Bundle savedInstanceState) {
3         super.onCreate(savedInstanceState);
4
5         UUID crimeId = (UUID)getArguments().getSerializable(ARG_CRIME_ID);
6         mCrime = CrimeLab.get(getActivity()).getCrime(crimeId);
7
8         setHasOptionsMenu(true);
9     }

4.为了响应用户点击Delete Crime菜单项,需实现新方法以crime页删除当前Crime。在CrimeLab.java中,新增一个removeCrime()方法。

1 public void removeCrime(Crime c) { 2 mCrimes.remove(c); 3 }

5.在CrimeFragment.java中,实现onOptionsItemSelected(MenuItem)方法,以响应菜单项的选择事件,通过检查菜单项ID判断选的是哪个菜单项。在该方法中,删除当前的Crime实例,最后调用CrimeFragment托管活动的finish()方法回退到前一个activity界面。

 1 @Override
 2     public boolean onOptionsItemSelected(MenuItem item) {
 3         switch (item.getItemId()) {
 4             case R.id.delete_crime:
 5                 CrimeLab.get(getActivity()).removeCrime(mCrime);
 6                 getActivity().finish();
 7                 return true;
 8             default:
 9                 return super.onOptionsItemSelected(item);
10         }
11     }

6.运行效果:


转载于:https://www.cnblogs.com/real1587/p/10026991.html

挑战练习13.6 删除crime 记录相关推荐

  1. 挑战练习14.8 删除crime 记录

    如果为应用添加过Delete Crime菜单项的话,就可以直接调用CrimeLab的deleteCrime(Crime)方法,继而调用mDatabase.delete(...)方法来实现删除功能.如果 ...

  2. jQuery如何动态删除TR,input按钮删除本行记录,checkbox全选反选

    checkbox 全选反选 1: var i = 1; 2: function CheckAllTeacher() { 3: if (i % 2 == 1) { 4: i++; 5: $(" ...

  3. mysql语句中怎么去重复_mysql中删除重复记录sql语句

    在sql中我们经常会碰到有重复的一些数据,下面我来介绍在mysql中删除重复记录的多种方法,有需要的朋友可参考参考. 删除重复记录方法一: 1. 新建一个临时表 代码如下 复制代码 create ta ...

  4. [20180614]删除bootstrap$记录无法启动2.txt

    [20180614]删除bootstrap$记录无法启动2.txt --//前几天看链接http://www.xifenfei.com/2018/05/willfully-delete-bootstr ...

  5. DNS添加/修改/查询/删除A记录

    #查询DNS可用类 Get-WmiObject -Namespace root\MicrosoftDNS -List #查询所有资源记录 $mydns = [WMIClass]"ROOT\M ...

  6. mysql删除重复记录并且只保留一条

    准备的测试表结构及数据 插入的数据中A,B,E存在重复数据,C没有重复记录 CREATE TABLE `tab` (   `id` int(11) NOT NULL AUTO_INCREMENT,   ...

  7. SQL操作语句之查询及删除重复记录的方法

    delete from 表 where id not in(select min(id) from 表 group by name ) //删除重复名字的记录 删除之前请用语句 select * fr ...

  8. SQL Server 删除重复记录,只保留一条记录

    原文地址:http://blog.csdn.net/eriato/article/details/17417303 有张表格之前没有设计关键字段的唯一约束,导致有时候执行插入操作时不小心执行了多次就出 ...

  9. [20190130]删除tab$记录的恢复2.txt

    [20190130]删除tab$记录的恢复2.txt --//前面链接写好了脚本,开始测试删除后的恢复.千万不要在生产系统做这样的测试!! --//参考链接:http://blog.itpub.net ...

  10. 【01】网页中清除历史浏览记录能不能彻底删除浏览记录?

    不能-- 即便你把记录全删了,也可用数据恢复工具给你找回来: 即便你用专业工具覆盖N遍,确保数据无法恢复,网站那头还记着哪个ip什么时候访问过哪些内容呢--然后跑ISP(联通或电信)一查,xx时间xx ...

最新文章

  1. Aliyun LOG Java Producer 快速入门
  2. iOS 9 学习系列:Xcode Code Coverage Tools
  3. Xcode 8 插件安装
  4. MySQL中常见的单行函数(下)
  5. Linux学习 - 文件包处理命令
  6. modbus tcp 入门详解
  7. 他是奥运会银牌获得者,还是世界知名数学家,他的家族让世界为之倾倒
  8. 利用c语言建立交易系统,【图】手把手教会你构建自己的交易系统 - 4_股票论坛,炒股公式,股票指标,股票公式,选股公式_数据、教程交流论坛_理想论坛 - 股票论坛...
  9. oracle 批量更新_用集算器更新数据库的技巧
  10. click事件的执行顺序
  11. 计算机 信息安全常识
  12. shiro会话监听_Shiro权限控制_(二)_session
  13. Ubuntu ADB 环境变量配置
  14. 20210327Java网络编程
  15. JDK8新特性知识点总结
  16. 2016.9.8面试水笔
  17. sql2000安装程序配置服务器失败
  18. iOS 使用lame录音文件wav转mp3
  19. wps右边的标记区域怎么去掉,wpsword右边的标记区域怎么去掉
  20. delphi7源码编译安装oracle access控件ODAC9.3.8

热门文章

  1. PyG 中Message Passing机制详解
  2. 什么是 docker?docker和虚拟机有什么差别和不同?
  3. Connectable high duty cycle directed advertising
  4. C#winform窗体背景音乐播放总结
  5. 利用python进行正球面的大圆航程与横向线航程计算
  6. java接入短信容联云通讯
  7. 走进JavaWeb技术世界11:单元测试框架Junit
  8. 机器学习(二)--新加坡国立大学寒假学习项目总结
  9. 烤仔的朋友们丨如梦如幻的 2020 上半场
  10. 新浪微博since_id值