Masquer le Clavier virtuel sur le Fait Keypress dans Android?
Je suis aux prises avec le bouton terminé sur le clavier. Je ne peux pas obtenir le clavier Fait touche appuyez sur pour masquer le clavier. À partir d'un autre bouton, il fonctionne parfaitement avec
imm.hideSoftInputFromWindow(editText.getApplicationWindowToken(), 0);
mais la onKeyListener ne fonctionne pas comme je le veux. Quand j'ai frappé la editText, le clavier se montre et de son contenu est effacé de caractères.
Merci pour l'écoute!
L'main.xml:
<EditText
android:id="@+id/answer"
android:layout_gravity="center_horizontal" android:textSize="36px"
android:inputType="phone"
android:minWidth="60dp" android:maxWidth="60dp"
/>
Le fichier Java:
private EditText editText;
//...
editText = (EditText)findViewById(R.id.answer);
editText.setOnClickListener(onKeyboard);
editText.setOnKeyListener(onSoftKeyboardDonePress);
//...
//method not working:
private View.OnKeyListener onSoftKeyboardDonePress=new View.OnKeyListener()
{
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if (event.getKeyCode() == KeyEvent.FLAG_EDITOR_ACTION)
{
//code to hide the soft keyboard
imm = (InputMethodManager) getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getApplicationWindowToken(), 0);
}
return false;
}
};
private View.OnClickListener onKeyboard=new View.OnClickListener()
{
public void onClick(View v)
{
editText.setText("");
}
};
La méthode de travail à l'aide d'un bouton (dans le même fichier java):
private View.OnClickListener onDone=new View.OnClickListener()
{
public void onClick(View v)
{
//....
//code to hide the soft keyboard
imm = (InputMethodManager) getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getApplicationWindowToken(), 0);
}
};
Edit: Quand je la touche pas "9" pour le clavier se cache. C'est bizarre.
OriginalL'auteur 4rchit3ct | 2010-08-05
Vous devez vous connecter pour publier un commentaire.
Utiliser android:imeOptions="actionDone", comme ça:
ne fonctionne pas pour moi, vraiment bizarre, sur le soi-disant Android de programmation.
Lorsque le editext est dans un scrollview il dérange.
OriginalL'auteur alcsan
avec le contexte de votre activité.
OriginalL'auteur Doge
Changé le if pour
if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)
fait de travailler avec le xml attributandroid:inputType="phone"
.OriginalL'auteur 4rchit3ct
Vous devriez jeter un oeil à setOnEditorActionListener() pour l'EditText:
OriginalL'auteur Stan
Utilisez code ci-dessous avec
android:imeOptions="actionDone"
son travail pour moi.OriginalL'auteur Sagar Jethva