Fix bug in the notepad tutorial of Android
Fix one bug in the Notepadv3Solution provided by Android home
Recreate steps:
menu -> add item ->input some text->click home button
The program will crash.
底下是我发现的错误的代码,当点击home button后,在进入到pause状态前,程序会先调用onSaveInstanceState这个函数
@Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putLong(NotesDbAdapter.KEY_ROWID, mRowId); }
但在这个情况下,mRowId为null,所以此时程序崩溃,修改依然很简单,只要添加一个判断即可。
@Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); if (mRowId != null){ outState.putLong(NotesDbAdapter.KEY_ROWID, mRowId); } }
经测试,运行良好。
还发现一个问题,在进入到pause状态时,该程序将没有经过confirm的数据添加到数据库,我认为这不合理。没有经过confirm,当我切换应用程序的时候,他把数据就添加到数据库,这让人觉得很奇怪。
修改方法呢,就是去掉在onPause函数中用来存储数据到数据库的saveState函数。
更多相关文章
- C语言函数的递归(上)
- Android(安卓)-- 点击双下返回退出程序
- android BOOT_COMPLETED 失败
- 反编译Android部署程序
- Android(安卓)系统应用调用,intent的使用总结帖
- android kernel启动学习笔记
- android 无线启动过程分析
- Android(安卓)URI简单介绍
- Google Play 商店删除百度的两个Android应用程序