2011-10-23 19 views
7

私は4つのedittextでアクティビティを持っており、ユーザーが4つのedittextのいずれかを使用し終えるとキーボードを隠したいと思っています。私がキーボードでenterをクリックすると、それは別のedittextにフォーカスし、キーボードはまだ残っていますが、キーボードを隠す必要があるので、edittextを1つだけ使用する必要があります。 これはxmlです:Enterキーでキーボードを非表示にする方法

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent" android:background="@drawable/sfondo"> 
<LinearLayout android:id="@+id/linearLayout1" 
    android:layout_width="match_parent" android:layout_height="wrap_content"> 
    <ImageButton android:id="@+id/backPersonalizza" 
     android:src="@drawable/back" android:background="@null" 
     android:layout_marginTop="10dip" android:layout_width="wrap_content" 
     android:layout_height="wrap_content" android:layout_marginLeft="5dp"></ImageButton> 
    <TextView android:layout_height="wrap_content" 
     android:gravity="center" 
     android:textColor="@android:color/black" android:id="@+id/testoSuggerimenti" 
     android:text="Personalizza il testo e le icone. Clicca su una delle icone e scegli l'immagine preferita" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:layout_width="wrap_content" 
     android:layout_marginTop="10dp" 
     android:layout_marginRight="5dp" 
     ></TextView> 
</LinearLayout> 
<LinearLayout android:id="@+id/linearLayout2" 
    android:layout_height="wrap_content" android:layout_width="match_parent" 
    android:orientation="vertical" android:layout_marginTop="20dp"> 
    <LinearLayout android:id="@+id/linearLayout3" 
     android:layout_height="wrap_content" android:layout_width="match_parent"> 
     <EditText android:layout_height="40dp" android:id="@+id/editT1" 
      android:layout_width="115dp" android:layout_marginLeft="32dp" 
      android:layout_marginRight="25dp" android:gravity="center" 
      android:ellipsize="end" android:singleLine="true"> 
      <requestFocus></requestFocus> 
     </EditText> 
     <EditText android:layout_height="40dp" android:id="@+id/editT2" 
      android:layout_width="115dp" android:layout_marginRight="10dp" 
      android:gravity="center" android:ellipsize="end" 
      android:layout_marginLeft="10dp" android:singleLine="true"></EditText> 
    </LinearLayout> 
    <LinearLayout android:layout_weight="1" android:id="@+id/linearLayout4" 
     android:layout_height="match_parent" android:layout_width="wrap_content"> 
     <ImageButton android:layout_height="wrap_content" 
      android:layout_width="wrap_content" android:src="@drawable/tasto1" 
      android:id="@+id/tastoMod1" android:background="@null" 
      android:layout_marginLeft="30dp" android:layout_marginTop="-5dp"></ImageButton> 
     <ImageButton android:layout_height="wrap_content" 
      android:layout_width="wrap_content" android:src="@drawable/tasto2" 
      android:id="@+id/tastoMod2" android:background="@null" 
      android:layout_marginLeft="30dp" android:layout_marginTop="-5dp"></ImageButton> 
    </LinearLayout> 
</LinearLayout> 
<LinearLayout android:id="@+id/linearLayout5" 
    android:layout_height="wrap_content" android:layout_width="match_parent" 
    android:orientation="vertical"> 
    <LinearLayout android:id="@+id/linearLayout6" 
     android:layout_height="wrap_content" android:layout_width="match_parent"> 
     <EditText android:layout_height="40dp" android:id="@+id/editT3" 
      android:layout_width="115dp" android:layout_marginLeft="32dp" 
      android:layout_marginRight="25dp" android:gravity="center" 
      android:ellipsize="end" android:singleLine="true"></EditText> 
     <EditText android:layout_height="40dp" android:id="@+id/editT4" 
      android:layout_width="115dp" android:layout_marginRight="30dp" 
      android:gravity="center" android:ellipsize="end" android:singleLine="true" 
      android:layout_marginLeft="10dp"></EditText> 
    </LinearLayout> 
    <LinearLayout android:id="@+id/linearLayout7" 
     android:layout_height="wrap_content" android:layout_width="match_parent"> 
     <ImageButton android:layout_height="wrap_content" 
      android:layout_width="wrap_content" android:src="@drawable/tasto3" 
      android:id="@+id/tastoMod3" android:background="@null" 
      android:layout_marginLeft="30dp" android:layout_marginTop="-5dp"></ImageButton> 
     <ImageButton android:layout_height="wrap_content" 
      android:layout_width="wrap_content" android:src="@drawable/tasto4" 
      android:id="@+id/tastoMod4" android:background="@null" 
      android:layout_marginLeft="30dp" android:layout_marginTop="-5dp"></ImageButton> 
    </LinearLayout> 
</LinearLayout> 

あなたは私を助けることができますか?

答えて

18

私はわかりませんが、あなたはこのコードを試してみてください: -

youredittext.setOnEditorActionListener(new TextView.OnEditorActionListener() { 

    @Override 
    public boolean onEditorAction(TextView v, int keyCode, KeyEvent event) { 
     if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) { 
      // hide virtual keyboard 
      InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.hideSoftInputFromWindow(youredittext.getWindowToken(), 0); 
      return true; 
     } 
     return false; 
    } 
}); 

私はこれが役立つことを願っています。..

+0

私はしよう!しかし、この方法では、それは他の真ではなく、Enterキーだけをオーバーライドするでしょうか? – JackTurky

+0

私は自分の答えを編集しました。私はあなたにすべてのOnEditorActionListenerをアタッチしようと思います。 – Uttam

+0

sessionTag? edittextですか? – JackTurky

0

これを行うための最善の方法、XMLファイル

に次のコードを追加することです
android:imeOptions="actionDone" 

彼らは 良いオプション

を持っている場合、私は、なぜ人々提案Javaのコードを理解していないです
関連する問題