2010-12-29 14 views
5

私はいくつかのEditTextウィジェットとボタンを備えたかなりシンプルな画面を持っています。エミュレータで、EditTextウィジェットをクリックすると、仮想キーボードが表示されます。しかし、私はそれを取り除くことはできません。画面上の空きスペースをクリックしても、それは消えません。仮想のReturnキーまたはハードウェアのBackボタンをクリックするだけで消えます。なぜ仮想キーボードは消えないのですか?

私は実際のAndroid携帯を手元に持っていないので、これはエミュレータの唯一のものですか、それは実際のデバイスでこれのようになります。そうであれば、フォーム上の他の場所をクリックすると、仮想キーボードを消すために何ができますか?

答えて

3

戻るボタンをクリックします。それらのキーボードはアクティビティです。画面のランダムな部分をクリックすると、キーボードを簡単に取り外すことはできません。

+0

行いAndroidユーザー:

activity.getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(view, InputMethodManager.SHOW_FORCED); 

あなたは、キーパッドを開くために道の上に使用する場合は、SHOW_IMPLICIT値の例については

SHOW_FORCED値を変更しようとするかもしれません一般的に、これはキーボードを取り外す方法ですか? – AngryHacker

+0

私の知る限り、ええ。 – Falmarri

+0

@AngryHacker - "これは一般的に知られているアンドロイドのユーザーがキーボードを取り外す方法ですか?"私のHTC Desireは、キーボードのアイコンと押されたときにそれを隠す「下向きの矢印」を持つ仮想キーボードのボタン/キーを持っています。私はこれが単に電話の戻るボタンと同じことをすると思う。 – Squonk

2

エミュレータでは、エスケープを押してキーボードを隠すことができると思います。実際のデバイスでは、キーボードに非表示のボタンがあります。または、uiの他の場所で押すことができます。とにかくそれは私のHTC Desire Sで動作する方法です。

0

私はAndriod 2.3.6を実行しているGalaxy S2を持っています。
ウェブサイトにログインするときに必要なテキストを入力した後で、途中で動かないキーボードに問題がありました。私は、ハードウェアの戻りボタンを押すと途中で仮想キーボードを取ることがわかった。しかし時には、それはWebブラウザを1ページ分戻します。私は接続しているウェブサイトの情報をログに再入力する必要があるので、どちらがイライラしていますか。うまくいけば、Android 4.xはこれらの不思議な問題のいくつかを解決しました。

0

あなたは、次の手順を実行して、これを達成することができます

  1. は以下を追加して、親ビュー(アクティビティのコンテンツビュー)をクリック可能とフォーカス可能な作りは

    android:clickable="true" 
        android:focusableInTouchMode="true" 
    
  2. を実装する属性hideKeyboard()メソッド

    public void hideKeyboard(View view) { 
         InputMethodManager inputMethodManager =(InputMethodManager)getSystemService(Activity.INPUT_METHOD_SERVICE); 
         inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY); 
        } 
    
  3. 最後にあなたのedittextのonFocusChangeListenerを設定します。

    edittext.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
         @Override 
         public void onFocusChange(View v, boolean hasFocus) { 
          if (!hasFocus) { 
           hideKeyboard(v); 
          } 
         } 
        }); 
    

Source

1

私はこの問題を住んでいたし、私はそれを解決しました。この問題は私のプロジェクトで約InputMethodManager.SHOW_FORCEDの値です。 SHOW_FORCEDを使用してキーパッドを開くと、キーパッドを閉じるときにキーパッドが閉じられませんでした。例については

:知ら

activity.getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(view, InputMethodManager.SHOW_IMPLICIT); 
関連する問題