2011-10-23 46 views
7

tôi có một hoạt động với bốn văn bản và tôi muốn ẩn bàn phím khi người dùng kết thúc sử dụng một trong bốn văn bản. nếu tôi bấm vào nhập trên bàn phím, nó sẽ tập trung một edittext và bàn phím vẫn còn, nhưng tôi cần phải ẩn bàn phím, do đó, để sử dụng chỉ có một edittext và không nhất thiết phải khác. Đây là xml:Cách ẩn bàn phím khi nhập phím

<?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> 

bạn có thể giúp tôi?

Trả lời

18

Tôi không chắc chắn nhưng bạn nên thử mã này: -

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; 
    } 
}); 

Tôi hy vọng điều này sẽ giúp ..

+0

tôi sẽ cố gắng! nhưng bằng cách này nó sẽ ghi đè chỉ nhập khóa, không phải khác đúng? – JackTurky

+0

Tôi đã chỉnh sửa câu trả lời của mình và tôi nghĩ bạn thử gắn OnEditorActionListener vào tất cả chúng. – Uttam

+0

sessionTag? là edittext? – JackTurky

0

Cách tốt nhất để làm điều này, là thêm mã sau Trong XML file

android:imeOptions="actionDone" 

tôi không hiểu tại sao mã người đề nghị java nếu họ có lựa chọn tốt hơn

01.
Các vấn đề liên quan