me he dado cuenta de la Android Market Application
, cuando se hace clic sobre el botón de búsqueda que muestra el teclado, pero cuando se hace clic en el botón back
, la búsqueda EditText
se vuelven invisibles y la keyboard
está oculto, el problema que yo No puedo ocultar el EditText
después de que el teclado está oculto después de presionar la tecla Atrás, porque no puedo encontrar un oyente para ocultar el evento del teclado. me encontré con esta muestra How to capture the "virtual keyboard show/hide" event in Android? pero no funciona en el teclado suaveteclado Ocultar evento con la tecla RETRO
Respuesta
que necesita para implementar esta capturar el botón BACK antes de su envío a la IME:
eres increíble. –
En segundo lugar el impresionante. Después de varias horas de probar varias acciones de enfoque y editor, esto hizo el truco a la perfección. – Geobits
Esto funcionará en Edittext? Eso significa que puedo usar Edittext sin crear una subclase de él? –
creo que debe manejar esto con el enfoque:
final InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
edttext.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(!(hasFocus))
{
mgr.hideSoftInputFromWindow(edttext.getWindowToken(), 0);
}
}
});
Hola Creo que la aplicación de mercado está utilizando el cuadro de diálogo GoogleSearch (echa un vistazo a Searcheable activity) .
Puede implementar editText en una ventana emergente, y establecer la ventana de usuario como enfocable. Muestra el teclado cuando se muestre tu ventana emergente. en onDismiss ocultar el teclado.
popupWindow.setFocusable(true);
popupWindow.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss() {
// TODO Auto-generated method stub
inputMethodManager.hideSoftInputFromWindow(
edttxtSearchBar.getWindowToken(), 0); }
Esto asegurará, hacer clic en cualquier lugar fuera de ventana emergente o presiona hacia atrás la ventana emergente desaparece también (junto con el teclado).
el problema es que, cuando se muestra el teclado, y hace clic en la tecla 'Atrás', el teclado manejará el evento posterior y se ocultará, luego deberá hacer clic en 'Atrás' de nuevo para cerrar 'Ventana emergente' o' Diálogo' –
supongo que es posible que desee anular el botón Atrás y cerrar la ventana emergente de forma manual. – rDroid
La aplicación mercado de Google está utilizando fragmentos a través del paquete de compatibilidad con la API. Cuando haces clic atrás, en realidad está retrocediendo en la pila de fragmentos. Es como volver una actividad sin deslizar la pantalla. El fragmento al que regresan no contiene el cuadro de búsqueda y por eso desaparece.
**perfect answer** REFER THIS **SIMPLE EXAMPLE**...ITS TOOOO GOOOODDDD
KTBEditTextWithListener.java // Custom edittext
import android.content.Context;
import android.util.AttributeSet;
import android.view.KeyEvent;
public class KTBEditTextWithListener extends android.widget.EditText {
public KTBEditTextWithListener(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public KTBEditTextWithListener(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// createFont(context);
}
public KTBEditTextWithListener(Context context, AttributeSet attrs) {
super(context, attrs);
// createFont(context);
}
private BackPressedListener mOnImeBack;
/* constructors */
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) {
if (mOnImeBack != null) mOnImeBack.onImeBack(this);
}
return super.dispatchKeyEvent(event);
}
public void setBackPressedListener(BackPressedListener listener) {
mOnImeBack = listener;
}
public interface BackPressedListener {
void onImeBack(KTBEditTextWithListener editText);
}
}
//my_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<com.ktb.gopharma.views.KTBEditTextWithListener
android:id="@+id/edit_text"
style="@style/match_width">
</com.ktb.gopharma.views.KTBEditTextWithListener>
</LinearLayout>
//MyActivity.java
package com.ktb.gopharma;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import com.ktb.gopharma.views.KTBEditTextWithListener;
import com.ktb.gopharma.views.KTBEditTextWithListener.BackPressedListener;
import com.ktechbeans.gopharma.R;
public class MyActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_layout);
KTBEditTextWithListener editText = (KTBEditTextWithListener) findViewById(R.id.edit_text);
editText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
showToast("keypad opn");
}
});
editText.setBackPressedListener(new BackPressedListener() {
@Override
public void onImeBack(KTBEditTextWithListener editText) {
showToast("keypad close");
}
});
}
}
reemplazar el enlace con el código real es mejor ... pero todavía no es perfecto: por favor no publique respuestas idénticas a preguntas múltiples. Publique una buena respuesta, luego vote/marque para cerrar las otras preguntas como duplicados. Si la pregunta no es un duplicado, _aloja tus respuestas a la pregunta_ – kleopatra
- 1. ocultar el teclado del iPad pulsando la tecla Return
- 2. Cómo ocultar el teclado en la tecla Intro
- 3. Ocultar vista previa de la tecla de teclado Android
- 4. Android - Obtener la tecla del teclado presione
- 5. ¿Desencadenar un evento de pulsación de tecla/teclado/tecla en JS/jQuery?
- 6. íconos de la tecla del teclado
- 7. Ocultar teclado en AlertDialog
- 8. ¿Cómo ocultar el teclado cuando presiono la tecla de retorno en un UITextField?
- 9. Cómo ocultar el teclado - de - iPhone UITextView - mediante la tecla de retorno
- 10. keycode en el evento de tecla
- 11. Programación de videojuegos retro
- 12. teclado del teclado numérico no muestra la tecla de retorno en el iphone
- 13. Evento KeyDown no funciona en la tecla PrintScreen
- 14. Evento para SELECT onchange con teclado
- 15. Detener evento de pulsación de tecla
- 16. becomeFirstResponder sin ocultar el teclado
- 17. Android: Cómo ocultar el teclado en un sobrescrito pulsación de tecla "Hecho" de EditarTexto
- 18. ¿Cómo ocultar un div con la tecla esc y hacer clic? En Jquery
- 19. Obteniendo la posición del mouse en el evento del teclado
- 20. Tecla de captura presionada con el teclado virtual en Android?
- 21. ¿Cómo cambiar la fuente de la tecla del teclado Android?
- 22. Ocultar el teclado virtual en la carga de la aplicación
- 23. Jquery deshabilitar una tecla del teclado
- 24. Haciendo clic en la tecla 'Siguiente' del teclado usando UIAutomation
- 25. Cómo ocultar inputAccessoryView sin ignorar el teclado
- 26. Ventana emergente personalizada para la tecla del teclado
- 27. Android desactivar la tecla Enter en el teclado de software
- 28. Cancelar evento de pulsación de tecla
- 29. Ocultar el teclado de Android para EditText
- 30. La mejor manera de ocultar el teclado en Android
Puede que me equivoque, pero ¿qué hay de ocultar primero el teclado y luego hacer que EditText sea invisible? – banzai86
@ banzai86 sí, eso es lo que estoy tratando de hacer. –