todos
2014-07-28 16:56:04 1 举报
banchengpin
作者其他创作
大纲/内容
initview
todosAsnyQuery
changeToState(STATE_SHOW_DETAILS)
onRestoreInstanceState被调用的前提是activity确实被系统销毁了,而如果仅仅是停留在有这种可能性的情况下,则该方法不会被调用。
onLongClick
是长按操作的反应,调用了doLongClickNewTodo.设置了屏幕的宽度,同时从屏幕上获取新的位置。
onStart
onPause
当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。判断当前状态,若状态为STATE_ADD_NEW,则跳转到新建文档的界面。若状态为 STATE_SHOW_DETAILS,则跳出。若状态为STATE_EDIT_TODO,则调到编辑界面。若都不是,则提示不能判断状态
doLongClickNewTodo.设置了屏幕的宽度,同时从屏幕上获取新的位置。
getExpireCode
onClickBtnCancel
输入时显示软键盘,switch(mstate):Case STATE_ADD_NEW:如果标题和描述都为空,调用quitWithOutSave();否则显示主页面Case STATE_EDIT_TODO:如果初始标题与原标题一致,并且初始描述与原描述一致,清除mDataAfterModify中的数据,调用changeToState(STATE_SHOW_DETAILS);否则取消编辑。
onDeleteComplete
changeToState(STATE_SHOW_DETAILS);
hideIMEFromWindow()
当选中窗口时调用系统INPUT_METHOD_SERVICE的来调用软键盘。
onLongClick是长按操作的反应
checkAndSaveQuit();
changeToState
定义state; 之后使用switch语句:Case state_add_new:Case state_edit_todo: 用actionbar代替传统标题栏,并设置标题。使标题可用,可被点击和长时间点击,并且使它可以点击输入框后默认字体消失,标题可修改。 如果标题被选中,得到标题的长度。使描述可用,可被点击和长时间点击,并且使它可以点击输入框后默认字体消失,描述可修改。 如果描述被选中,得到描述的长度。使目的日期可用,可点击。定义一个到期日期,给定他几种判断。Case state_show_details:与state_edit_todo相反。
调用Utils.java中的writeAdapterDataToDB类。
onOptionsItemSelected
switch (item.getItemId()) case R.id.btn_cancel:onClickBtnCancel()case R.id.btn_done:case android.R.id.home:checkAndSaveQuit();case R.id.btn_change_done_todo_status:onClickChangeTodoState();case R.id.btn_delete: showDialog(DIALOG_DELETE_ITEMS);Default;
onCreate
创建activity
onBackPressed
后退键,调用checkAndSaveQuit
onCreateOptionsMenu
switch(mState):case STATE_ADD_NEWcase STATE_EDIT_TODOcase STATE_SHOW_DETAILSDefault;返回 true.
Timechangereceiver
onQueryComplete
如果没有光标,或者没有将光标移到第一个,不保存就退出,否则从光标处获取信息。如果光标不空,则关闭光标。
checkAndSaveQuit
clearData
清除数据
QuitWithOutSave()不保存就退出。
quiteWithOutSave();
onClickChangeTodoState
doLongClickNewTodo
configureActionBar
特殊的工具栏,允许setDisplayHomeAsUpEnabled;setDisplayShowHomeEnabled;setDisplayShowCustomEnabled,设置点击和长时间点击的反应。
onCreateDialog
使用switch()case DIALOG_DELETE_ITEMS:mOperatorCode = Utils.OPERATOR_DELETE;调用checkAndSaveQuit();return dialog\tCase DIALOG_BACK_MAIN_PAGE:dialog.setButton(DialogInterface.BUTTON_POSITIVE。当点击的时候,返回主页面,调用quiteWithOutSave();return dialogcase DIALOG_CANCEL_EDIT:mDataAfterModify.clear(); 调用changeToState(STATE_SHOW_DETAILS);return dialog
onResume
switch(mstate)当mstate==state_null,mState = STATE_SHOW_DETAILS。否则mState = STATE_ADD_NEW;并把输入焦点放在调用这个方法的控件上,并切换到mstate状态。
onInsertComplete:
ondestroy
quitWithOutSave();
onSaveInstanceState的调用遵循一个重要原则,是当系统存在“未经你许可”时销毁了activity的可能时,则onSaveInstanceState()会被系统调用。
0 条评论
下一页