2011-12-06 4 views
1

J'utilise le code ci-dessous pour masquer le clavier virtuel lorsque j'appuie sur la touche Entrée, mais qu'elle ne se cache pas. Si quelqu'un sait à propos de ceci ou de toute erreur dans le code s'il vous plaît répondez-moi.Masquage du clavier virtuel

package onchip.learning.smalltest; 

import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.view.inputmethod.InputMethodManager; 
import android.widget.EditText; 
import android.widget.LinearLayout; 
import android.widget.TextView; 
import android.widget.TextView.OnEditorActionListener; 

public class SmallTest extends Activity { 
    EditText et; 

    /** Called when the activity is first created. */ 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     et = new EditText(this); 
     et.setLines(1); 
     et.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)); 
     setContentView(et); 

     et.setOnEditorActionListener(new OnEditorActionListener() { 

      @Override 
      public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
       // TODO Auto-generated method stub 
       if(event.getKeyCode() == KeyEvent.KEYCODE_ENTER) { 
        InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
        imm.hideSoftInputFromInputMethod(et.getWindowToken(), 0); 
        return true; 
       } 
       return false; 
      } 
     }); 
    } 
} 

grâce

+0

Vous testez ceci sur émulateur? – Cata

+0

non sur l'appareil seulement –

Répondre

2

Essayez d'utiliser hideSoftInputFromWindow(et.getWindowToken(), 0) au lieu de hideSoftInputFromInputMethod()

+0

thankyou Cata son fonctionnement –

+0

Votre bienvenue! :) – Cata

0

Utilisez cette

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);