挑战练习13.6 删除crime 记录
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 记录相关推荐
- 挑战练习14.8 删除crime 记录
如果为应用添加过Delete Crime菜单项的话,就可以直接调用CrimeLab的deleteCrime(Crime)方法,继而调用mDatabase.delete(...)方法来实现删除功能.如果 ...
- jQuery如何动态删除TR,input按钮删除本行记录,checkbox全选反选
checkbox 全选反选 1: var i = 1; 2: function CheckAllTeacher() { 3: if (i % 2 == 1) { 4: i++; 5: $(" ...
- mysql语句中怎么去重复_mysql中删除重复记录sql语句
在sql中我们经常会碰到有重复的一些数据,下面我来介绍在mysql中删除重复记录的多种方法,有需要的朋友可参考参考. 删除重复记录方法一: 1. 新建一个临时表 代码如下 复制代码 create ta ...
- [20180614]删除bootstrap$记录无法启动2.txt
[20180614]删除bootstrap$记录无法启动2.txt --//前几天看链接http://www.xifenfei.com/2018/05/willfully-delete-bootstr ...
- DNS添加/修改/查询/删除A记录
#查询DNS可用类 Get-WmiObject -Namespace root\MicrosoftDNS -List #查询所有资源记录 $mydns = [WMIClass]"ROOT\M ...
- mysql删除重复记录并且只保留一条
准备的测试表结构及数据 插入的数据中A,B,E存在重复数据,C没有重复记录 CREATE TABLE `tab` ( `id` int(11) NOT NULL AUTO_INCREMENT, ...
- SQL操作语句之查询及删除重复记录的方法
delete from 表 where id not in(select min(id) from 表 group by name ) //删除重复名字的记录 删除之前请用语句 select * fr ...
- SQL Server 删除重复记录,只保留一条记录
原文地址:http://blog.csdn.net/eriato/article/details/17417303 有张表格之前没有设计关键字段的唯一约束,导致有时候执行插入操作时不小心执行了多次就出 ...
- [20190130]删除tab$记录的恢复2.txt
[20190130]删除tab$记录的恢复2.txt --//前面链接写好了脚本,开始测试删除后的恢复.千万不要在生产系统做这样的测试!! --//参考链接:http://blog.itpub.net ...
- 【01】网页中清除历史浏览记录能不能彻底删除浏览记录?
不能-- 即便你把记录全删了,也可用数据恢复工具给你找回来: 即便你用专业工具覆盖N遍,确保数据无法恢复,网站那头还记着哪个ip什么时候访问过哪些内容呢--然后跑ISP(联通或电信)一查,xx时间xx ...
最新文章
- Aliyun LOG Java Producer 快速入门
- iOS 9 学习系列:Xcode Code Coverage Tools
- Xcode 8 插件安装
- MySQL中常见的单行函数(下)
- Linux学习 - 文件包处理命令
- modbus tcp 入门详解
- 他是奥运会银牌获得者,还是世界知名数学家,他的家族让世界为之倾倒
- 利用c语言建立交易系统,【图】手把手教会你构建自己的交易系统 - 4_股票论坛,炒股公式,股票指标,股票公式,选股公式_数据、教程交流论坛_理想论坛 - 股票论坛...
- oracle 批量更新_用集算器更新数据库的技巧
- click事件的执行顺序
- 计算机 信息安全常识
- shiro会话监听_Shiro权限控制_(二)_session
- Ubuntu ADB 环境变量配置
- 20210327Java网络编程
- JDK8新特性知识点总结
- 2016.9.8面试水笔
- sql2000安装程序配置服务器失败
- iOS 使用lame录音文件wav转mp3
- wps右边的标记区域怎么去掉,wpsword右边的标记区域怎么去掉
- delphi7源码编译安装oracle access控件ODAC9.3.8