スポンサー広告 - スポンサーサイト

--/--/-- (--) --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【Android】簡単メモ帳 - バージョン 1.0.4

2011/11/17 (木) 00:06

バージョンアップ

■変更点
1.メモ入力画面にて、メモが編集されている且つ、保存されていない状態で戻るボタンが押下された場合、確認ダイアログを表示するようにしました。
確認ダイアログでは「保存」「破棄」「キャンセル」の3択で、動作を選択できます。

■詳細
コメントで要望が寄せられたので、サクッと実装してみました。
自動保存は当初から避けたいと考えていたので、確認用のダイアログを表示することにしました。
メモ入力画面のActivityに、以下のコードを追加して対応しました。

まずはメモ入力欄にハンドラを登録。
// メモ入力欄
EditText edit = (EditText) findViewById(R.id.input_edittext_1);
edit.addTextChangedListener( new TextWatcher() {

public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}

public void onTextChanged(CharSequence s, int start, int before, int count) {
// 変更フラグをON
editFlag = true;
}

public void afterTextChanged(Editable e) {
// 変更フラグをON
editFlag = true;
}

});

メモが編集されると、editFlag に true がセットされ、画面表示時と保存ボタンが押下された時に false にセットされます。
次に、戻るボタンが押下された時の処理を追加。


/**
* キーダウンイベントの取得
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

// 戻るキーの押下
if(keyCode == KeyEvent.KEYCODE_BACK){
// メモが編集されていて、かつ保存されていない場合は確認ダイアログを表示する
if(editFlag){
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
alertDialogBuilder.setCancelable(false);
alertDialogBuilder.setIcon(android.R.drawable.ic_dialog_info);
alertDialogBuilder.setTitle(getResources().getString(R.string.dialog2_title));

// 保存
alertDialogBuilder.setPositiveButton(R.string.dialog2_positive, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Input.this.button1OnClick(null);
Input.this.finish();
}
});

// 破棄
alertDialogBuilder.setNeutralButton(R.string.dialog2_neutral, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Input.this.finish();
}
});

// キャンセル
alertDialogBuilder.setNegativeButton(R.string.dialog2_negative, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
alertDialogBuilder.create().show();
}
}
return super.onKeyDown(keyCode, event);
}
関連記事

コメントの投稿

非公開コメント

検索フォーム
RSSリンクの表示
カレンダー
06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
月別アーカイブ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。