バックキー ( 戻るボタン )の 検出 方法と処理
先日リリースした シガー テイスティングシートアプリですが
葉巻 の評価を記入するシートの画面は
1つのActivityで閲覧モードと編集モードを使い分けるようにしてます。
閲覧モードでは文字通り閲覧のみで
葉巻 の評価を記入することはできません。
「編集」ボタンを押すと編集モードになり、
画面の背景が若干薄くなって、
各項目にタップすると入力ダイアログが出るようになります。
編集モードのときに、Android端末の
バックキー ( 戻るボタン )を押すと Activity が終了してしまうので
編集中のデータが消えてしまうことになります。
意図的にするならいいですけど
間違って押してしまうとけっこうショックがでかかったりします。
なのでこのアプリでは、編集モード中に
バックキー ( 戻るボタン )が押されたときに
戻っていいのか確認するダイアログを表示するようにしてあります。
バックキー ( 戻るボタン )の 検出 方法と処理例は以下の通り。
public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK){ if (is_mod_mode==0) { //閲覧モード //そのままActivity終了 return super.onKeyDown(keyCode, event); } else { //編集モード //ダイアログの表示 AlertDialog.Builder ad=new AlertDialog.Builder(this); ad.setMessage(getString(R.string.dialog_message04)); ad.setPositiveButton(getString(R.string.yes), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { //OKならActivity終了 finish(); } }); ad.setNegativeButton(getString(R.string.no), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { //NOならそのまま何もしない } }); ad.create(); ad.show(); return false; } }else{ return super.onKeyDown(keyCode, event); } }
KeyEvent.KEYCODE_BACK
で バックキー のクリックを検出し、
何か処理をするのであれば記述します。
super.onKeyDown(keyCode, event);
とすれば、通常の バックキー の動きをするようになります。
こういうちょっとした心遣いが大事2。
▽バックキー ( 戻るボタン )の 検出 方法と処理 のキーワード
▽次の記事、前の記事
Activity 起動 時に ソフトウェアキーボード が立ちあがってしまう | Android端末 や カメラ から 画像 を 取得 する方法
▽バックキー ( 戻るボタン )の 検出 方法と処理 にトラックバックする
バックキー ( 戻るボタン )の 検出 方法と処理のトラックバックURL:
http://chu3.xsrv.jp/mt5/mt-tb.cgi/729
今日のキーワード
当サイトのRSS
カテゴリー
スポンサード リンク
新着記事
月別アーカイブ
オススメ書籍
【中級者必携の3冊】
目的から実現方法を探すいわゆる逆引き本。ネットで探してた情報が1冊にまとまっている感じです。
こちらも逆引き本。しかも情報量が多くて分厚い辞書的な1冊。必ず手元に置いておきたい1冊です。
様々なUIテクニックが載っている1冊。レイアウト関係でここまで詳しい本は他にありません。UIに強くなりたいなら必須。
Copyright (C) 2012 All Rights Reserved Android アプリ の 研究所 アンドロイド ナビ