[android-group-japan: 4143] アプリ起動時にEditTextにフォーカスが有るとIMEが開いてしまう。

7,592 views
Skip to first unread message

KanyuZeronana

unread,
May 16, 2010, 9:02:51 PM5/16/10
to 日本Androidの会
初めて投稿します。
現在Androidの勉強中なのですが、疑問がありましてご存知の方がおりましたら
よろしくご教示お願いします。

あるアプリにて
初回起動時のフォーカスがTextEditにある場合、
登録しているIMEが自動的起動されていまいます。

TextEditにフォーカスが当たっても
IMEは起動せずにしておきたく、且つ、TextEdit選択時のみIMEを
起動するといった画面にしたいと思ってます。

調べましたがそのあたりがよくわからず・・
具体的な質問にならず大変申し訳ありません。
よろしくお願い致します。

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

飯塚康至

unread,
May 16, 2010, 10:17:09 PM5/16/10
to android-g...@googlegroups.com
こんにちは!飯塚です。

android:focusable="false"
で大丈夫かと。

まとめている方がいらしゃいました。
http://d.hatena.ne.jp/tomorrowkey/20091012/1255334049

2010年5月17日10:02 KanyuZeronana <kanyuz...@gmail.com>:

tomoki yamashita

unread,
May 16, 2010, 11:51:14 PM5/16/10
to android-g...@googlegroups.com
やましたです。

たしか、この時はEditTextの内容を変更する前にアラートを表示したかったので、このような方法を取ったんだと思います。
ソフトウェアキーボードを表示させないためだけに使うのであれば、すこしダサい気がします。。

試したことがないので、Activity起動時に使えるかどうかはわからないですが、
ソフトウェアキーボードの制御はこの辺を参考にしてはいかがでしょうか。

EditTextからのフォーカスを外して、ソフトウエアキーボード消したい - Android-SDK-Japan | Google グループ:
http://groups.google.co.jp/group/android-sdk-japan/browse_thread/thread/e5cf528425fc7c9e/ef5ad3f5ce61af97?pli=1


2010年5月17日11:17 飯塚康至 <iiz...@acl-inc.co.jp>:
--
/*
tomoki yamashita
tomor...@gmail.com
http://twitter.com/tomorrowkey
http://d.hatena.ne.jp/tomorrowkey/
*/

KanyuZeronana

unread,
May 17, 2010, 5:22:33 AM5/17/10
to 日本Androidの会
飯塚さま

こんにちは。
早速のレスありがとうございます。

確認させて頂きました。
この場合だと、ボタンを選択するまで、EditTextが入力不可(灰色表示)になってしまうため・・
何か違う感じです。ボタン等は特に設けず、IMEを初期表示時に表示させたくないだけなのです。

しかし、知らなかった情報もありました。ありがとうございました。

やましたさま
のレスを試してみたいと思います。

On 5月17日, 午前11:17, 飯塚康至 <iiz...@acl-inc.co.jp> wrote:
> こんにちは!飯塚です。
>
> android:focusable="false"
> で大丈夫かと。
>
> まとめている方がいらしゃいました。http://d.hatena.ne.jp/tomorrowkey/20091012/1255334049
>
> 2010年5月17日10:02 KanyuZeronana <kanyuzeron...@gmail.com>:

KanyuZeronana

unread,
May 17, 2010, 5:46:28 AM5/17/10
to 日本Androidの会
やましたさま

こんにちは。
レスありがとうございます。

参考にさせて頂き、インプットメソッドマネージャを使用して、OnCreate時に
コールしてみましたがやはりソフトウェアキーボードが起動してしまいました。
OnCreate後にソフトウェアキーボードが表示されるからかもしれません。

また、これかなーと思い「onWindowFocusChanged」内でコールしてみても同様でした。

この辺りは、まだよくわかってなくて難しいです。

EditTextを選択したときだけソフトウェアキーボードが起動するようにしたいだけなのですが・・・

On 5月17日, 午後12:51, tomoki yamashita <tomorrow...@gmail.com> wrote:
> やましたです。
>
> たしか、この時はEditTextの内容を変更する前にアラートを表示したかったので、このような方法を取ったんだと思います。
> ソフトウェアキーボードを表示させないためだけに使うのであれば、すこしダサい気がします。。
>
> 試したことがないので、Activity起動時に使えるかどうかはわからないですが、
> ソフトウェアキーボードの制御はこの辺を参考にしてはいかがでしょうか。
>
> EditTextからのフォーカスを外して、ソフトウエアキーボード消したい - Android-SDK-Japan | Google グループ:http://groups.google.co.jp/group/android-sdk-japan/browse_thread/thre...
>
> 2010年5月17日11:17 飯塚康至 <iiz...@acl-inc.co.jp>:
>
>
>
> > こんにちは!飯塚です。
>
> > android:focusable="false"
> > で大丈夫かと。
>
> > まとめている方がいらしゃいました。
> >http://d.hatena.ne.jp/tomorrowkey/20091012/1255334049
>
> > 2010年5月17日10:02 KanyuZeronana <kanyuzeron...@gmail.com>:
> >> 初めて投稿します。
> >> 現在Androidの勉強中なのですが、疑問がありましてご存知の方がおりましたら
> >> よろしくご教示お願いします。
>
> >> あるアプリにて
> >> 初回起動時のフォーカスがTextEditにある場合、
> >> 登録しているIMEが自動的起動されていまいます。
>
> >> TextEditにフォーカスが当たっても
> >> IMEは起動せずにしておきたく、且つ、TextEdit選択時のみIMEを
> >> 起動するといった画面にしたいと思ってます。
>
> >> 調べましたがそのあたりがよくわからず・・
> >> 具体的な質問にならず大変申し訳ありません。
> >> よろしくお願い致します。
>
> >> --
> >> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> >> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> >> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> >> 詳細については、http://groups.google.com/group/android-group-japan?hl=jaからこのグループにアクセスしてください。
>
> > --
> > このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> > このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> > このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> > 詳細については、http://groups.google.com/group/android-group-japan?hl=jaからこのグループにアクセスしてください。
>
> --
> /*
> tomoki yamashita
> tomorrow...@gmail.comhttp://twitter.com/tomorrowkeyhttp://d.hatena.ne.jp/tomorrowkey/
> */
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=jaからこのグループにアクセスしてください。

mokkouyou

unread,
May 17, 2010, 5:58:22 AM5/17/10
to android-g...@googlegroups.com
mokkouyouです。

おそらくですが、レイアウトの先頭にあるため、フォーカスがあたってしまうということかなと思います。
違っていたらすいません。


reTranslateでは、面倒なので非表示のViewをレイアウトして初期状態でそこにフォーカスをあててごまかしています。
一応希望する動作はするかと思いますがどうでしょう?


2010年5月17日18:46 KanyuZeronana <kanyuz...@gmail.com>:



--
mokkouyou
mokk...@gmail.com

Mitsuhiro SETOGUCHI

unread,
May 17, 2010, 6:14:41 AM5/17/10
to android-g...@googlegroups.com
瀬戸口です。

マーケットにて「トリカゴメモ」というアプリをリリースしていますが、そちらの EditText の挙動が希望されるものに近いかなと思うのですがいかがでしょうか?
もし合致するようでしたら
http://code.google.com/p/in-cage-memo-apk/source/browse/trunk/src/jp/straitmouth/incagememo/InCageMemo.java
をご覧ください。
286行目から288行目の InputMethodManager にて制御しています。


2010年5月17日18:58 mokkouyou <mokk...@gmail.com>:

あんざいゆき

unread,
May 17, 2010, 8:38:55 AM5/17/10
to android-g...@googlegroups.com

あんざいです。

この場合は
InputMethodManagar  ではなく、
Window のパラメータを設定します。
onCreate(); のなかで
setContentView するまえに
this.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
をいれてみてください。

--
あんざいゆき
anzai...@gmail.com
Twitter : yanzm

2010/05/17 19:15 "Mitsuhiro SETOGUCHI" <seto...@gmail.com>:



瀬戸口です。

マーケットにて「トリカゴメモ」というアプリをリリースしていますが、そちらの EditText の挙動が希望されるものに近いかなと思うのですがいかがでしょうか?
もし合致するようでしたら
http://code.google.com/p/in-cage-memo-apk/source/browse/trunk/src/jp/straitmouth/incagememo/InCageMemo.java
をご覧ください。
286行目から288行目の InputMethodManager にて制御しています。


2010年5月17日18:58 mokkouyou <mokk...@gmail.com>:


>
> mokkouyouです。
>
> おそらくですが、レイアウトの先頭にあるため、フォーカスがあたってしまうということかなと思います。
> 違っていたらすいません。
>
>

> reTransl...


--

このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。

このグループに投稿するには、android-g...@googlegroups.com...

KanyuZeronana

unread,
May 17, 2010, 8:47:52 PM5/17/10
to 日本Androidの会
こんにちは。
KanyuZeronanaです。

大変、多くのレス感謝しております。
結論から言うと、あんざいさんの対応を入れてみたところ、ソフトウェアキーボードが起動時には
表示されなくなり、希望していた動作になりました。

瀬戸口さん、mokkouyouさんのアプリも同様の挙動ですので
今後の勉強のため参考にさせて頂きたく思います。

ありがとうございました。

ユーザの視点から見た目、簡単そうに見える挙動でも
結構難しいものだなぁと実感しております。。

まだまだ初心者・・というか(Java含めて)初めて数カ月ですので
今後もご質問させて頂くことがあると思います。

その時はよろしくお願い致します。

On 5月17日, 午後9:38, あんざいゆき <anzai.y...@gmail.com> wrote:
> あんざいです。
>
> この場合は
> InputMethodManagar ではなく、
> Window のパラメータを設定します。
> onCreate(); のなかで
> setContentView するまえに
> this.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
> をいれてみてください。
>
> --
> あんざいゆき
> anzai.y...@gmail.com
> Twitter : yanzm
>
> 2010/05/17 19:15 "Mitsuhiro SETOGUCHI" <setom...@gmail.com>:
>
> 瀬戸口です。
>
> マーケットにて「トリカゴメモ」というアプリをリリースしていますが、そちらの EditText
> の挙動が希望されるものに近いかなと思うのですがいかがでしょうか?
> もし合致するようでしたらhttp://code.google.com/p/in-cage-memo-apk/source/browse/trunk/src/jp/...
> をご覧ください。
> 286行目から288行目の InputMethodManager にて制御しています。
>
> 2010年5月17日18:58 mokkouyou <mokkou...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages