《Android编程权威指南(第三版)》第十四章挑战练习Demo
这章的挑战练习和13章的差不多一样,只是要操作数据库,废话少说,直接贴代码:
/**
* delete的方法稍有不同,用uuid进行判断删除的是哪一个crime
*/
public void deleteCrime(Crime c) {
mDatabase.delete(CrimeTable.NAME, "uuid = ?", new String[] {String.valueOf(c.getId())});
}
在CrimeLab中添加一个delete的方法
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.fragment_crime_delete, menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.delete_crime:
/**
* 调用CrimeLab的delete方法
*/
CrimeLab.get(getActivity()).deleteCrime(mCrime);
getActivity().finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
在CrimeFragment中的工具栏中增加一个按钮实现删除功能。
若有不足之处请指教,源码链接:Demo