BACKキーについて教えてください

164 views
Skip to first unread message

アンドー

unread,
Jun 5, 2010, 5:37:04 PM6/5/10
to 日本Androidの会
皆様、おはよう御座います。

BACKキーのイベントのについて教えてください。

EclipseとAndroid2.1を使い勉強中の初心者です。

BACKキーを押したとき、制御したい処理があるのですが、

キーイベントは以下の方法で拾えないのでしょうか?

public boolean onKeyDown(int keyCode, KeyEvent event) {
  Log.i(tag, "keyin1");
if (keyCode == KeyEvent.KEYCODE_BACK) {
  /******* 処理 *********/
  return super.onKeyDown(keyCode,event);
}
 return true;
}

先輩方々の知恵を借りて、今後もっともっとandroidについて詳しくなって
行きたいと思っておりますのでよろしくお願い致します。


石原 和音

unread,
Jun 5, 2010, 8:26:36 PM6/5/10
to android-g...@googlegroups.com
石原@世田谷です。

まだHelloWorldくらいしかやってないど素人の思いつきなんですが一応投稿してみます。
案の定大ハズレだったら笑ってやってください。^^;

onPauseやonStopなど、アクティビティに送られるイベントを拾うのではいけない理由があったりするのでしょうか?

--
石原 和音 / ISHIHARA Kazuto / kz
kaz...@kz-soft.com  http://kz-soft.com/
090-7233-3293  03-6383-2740
東京都世田谷区代田6-12-25(袋道つきあたり右)

アンドー

unread,
Jun 6, 2010, 6:35:19 AM6/6/10
to 日本Androidの会
ご教授誠にありがとう御座います、アンドーです。

試しましたけど、私の希望するどうではなかったです。

でも、このような考え方が「ある」、「できる」とこはやはりかなりの

知識がないと考えつかないことだと思っております。

今後、考え方の参考にさせていただきます。

説明に関して、言葉足らずで説明してしまい私の希望する事ではなかったです。

再度、儀説明させていただきます。

プログレスダイヤログ表示中の、Eclipseのbackボタンの時のイベントを拾いたいのですが

誰か、やり方をご存知でしたらお教えください。

よろしくお願い致します。

tomoki yamashita

unread,
Jun 6, 2010, 7:44:05 AM6/6/10
to android-g...@googlegroups.com
やましたです。

Android2.1の実機は持ってないのでエミュレータで試してみましたが、
掲載のコードでうまく拾う事ができました。

拾えないと思ったのは”処理”の部分がうまくいってないからでしょうか?
まず問題の切り分けとして


public boolean onKeyDown(int keyCode, KeyEvent event) {
Log.i(tag, "keyin1");
if (keyCode == KeyEvent.KEYCODE_BACK) {

Log.i(tag, "KEYCODE_BACK");


/******* 処理 *********/
return super.onKeyDown(keyCode,event);
}
return true;
}

というコードを実行してみてはいかがでしょう


2010年6月6日19:35 アンドー <s...@cyberspace.vip.co.jp>:

> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>
>

--
/*
tomoki yamashita
tomor...@gmail.com
http://twitter.com/tomorrowkey
http://d.hatena.ne.jp/tomorrowkey/
*/

夜子まま

unread,
Jun 6, 2010, 8:29:13 AM6/6/10
to android-g...@googlegroups.com

夜子ままです、

プログレスダイアログにも中断などのリスナーがあるので試してみてはどうでしょうか。

2010/06/06 19:35 "アンドー" <s...@cyberspace.vip.co.jp>:



ご教授誠にありがとう御座います、アンドーです。

試しましたけど、私の希望するどうではなかったです。

でも、このような考え方が「ある」、「できる」とこはやはりかなりの

知識がないと考えつかないことだと思っております。

今後、考え方の参考にさせていただきます。

説明に関して、言葉足らずで説明してしまい私の希望する事ではなかったです。

再度、儀説明させていただきます。

プログレスダイヤログ表示中の、Eclipseのbackボタンの時のイベントを拾いたいのですが

誰か、やり方をご存知でしたらお教えください。

よろしくお願い致します。








On 6月6日, 午前9:26, 石原 和音 <kaz...@kz-soft.com> wrote:
> 石原@世田谷です。
>

> まだHelloWorldくらいしかやってないど素人の...

> kaz...@kz-soft.com  http://kz-soft.com/

> 090-7233-3293 03-6383-2740
> 東京都世田谷区代田6-12-25(袋道つきあたり右)

--
このメールは Google グループのグループ「日本Androidの会」...

アンドー

unread,
Jun 6, 2010, 9:29:18 AM6/6/10
to 日本Androidの会
ご教授ありがとう御座いました。

教えいただきましたコードを実行して見たのですが

LOGが出力されていませんでしたので

希望する動作をしていないと思われます。

プログレスダイヤログ表示中の、Eclipseのbackボタンの時のイベントはひろえないのでしょうかね?

どなたか、分かる人がいましたらお教えください。
> tomorrow...@gmail.comhttp://twitter.com/tomorrowkeyhttp://d.hatena.ne.jp/tomorrowkey/
> */- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

tomoki yamashita

unread,
Jun 6, 2010, 9:58:52 AM6/6/10
to android-g...@googlegroups.com
やましたです。

すみません、プログレスダイアログだという所を読んでませんでした。
Activityを継承したクラスのonKeyDownをオーバーライドしていますか?
プログレスダイアログのキーダウンを取得したいならば以下の様に書きます。

progress = new ProgressDialog(this);
progress.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
// キーが押されたとき呼ばれる
return false;
}
});

しかし、ダイアログが閉じた時に処理をしたいなら
OnDismissListenerを実装した方がスマートなんじゃないかなーと思います。


2010年6月6日22:29 アンドー <s...@cyberspace.vip.co.jp>:

Takashi

unread,
Jun 6, 2010, 1:38:44 PM6/6/10
to 日本Androidの会
アンドーさん

Takashiと申します。

ここまで挙げられていなかったのですが、私はBackキーの
イベントをActivityクラスで"dispatchKeyEvent"をオーバーライド
して使用しております。

ex)

@Override
public boolean dispatchKeyEvent(KeyEvent event){

if(event.getKeyCode() == KeyEvent.KEYCODE_BACK &&
event.getAction() == KeyEvent.ACTION_DOWN){
//戻るボタンキー押下時
}

return super.dispatchKeyEvent(event);
}

的外れでしたら申し訳ないです。一度お試しを
Reply all
Reply to author
Forward
0 new messages