ho notato il Android Market Application
, quando si fa clic su pulsante di ricerca che mostra la tastiera, ma quando si fa clic sul pulsante back
, la ricerca EditText
diventare invisibile e la keyboard
è nascosto, il problema che ho non posso nascondere la EditText
dopo che la tastiera è nascosta dopo aver premuto il tasto indietro, perché i cant trovare un listener per nascondere l'evento della tastiera. Ho trovato questo campione How to capture the "virtual keyboard show/hide" event in Android? ma doesnt lavoro sulla tastiera virtualetastiera Nascondi Event con INDIETRO chiave
risposta
è necessario implementare questo per catturare il tasto BACK prima di essere inviato al IME:
sei fantastico. –
I secondo il fantastico. Dopo diverse ore di varie azioni di messa a fuoco e di editing, questo ha fatto il trucco perfettamente. – Geobits
Funzionerà su Edittext? Ciò significa che posso usare su Edittext senza crearne una sottoclasse? –
Credo che si dovrebbe gestire questo utilizzando messa a fuoco:
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);
}
}
});
Hey Penso che l'applicazione mercato sta usando la finestra di Google (check out Searcheable activity) .
È possibile implementare l'EditText in un PopupWindow, e impostare il poupwindow come attivabile. Mostra la tastiera quando viene mostrato il tuo popup. in onDismiss nasconde la tastiera.
popupWindow.setFocusable(true);
popupWindow.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss() {
// TODO Auto-generated method stub
inputMethodManager.hideSoftInputFromWindow(
edttxtSearchBar.getWindowToken(), 0); }
Questo farà sì, si fa clic su un punto qualsiasi all'esterno popup o si preme di nuovo il popup scompare così (con la tastiera).
il problema è, quando viene visualizzata la tastiera, e si fa clic su 'chiave Back', la tastiera gestirà l'evento indietro, ed essere nascosti, quindi è necessario fare clic' nuovo Back' a respingere il 'PopupWindow' o' Dialog' –
Immagino che potresti voler anche sovrascrivere il pulsante Indietro e chiudere manualmente il popup. – rDroid
L'applicazione mercato Google sta utilizzando frammenti tramite il pacchetto API Support. Quando si fa clic su di esso, si torna effettivamente nella pila dei frammenti. È come tornare un'attività senza il passaggio dello schermo. Il frammento a cui ritornano non contiene la casella di ricerca, motivo per cui scompare.
**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");
}
});
}
}
sostituendo il legame con codice vero e proprio è meglio .. ma ancora non perfetta: Si prega di non inviare risposte identiche a più domande. Pubblica una buona risposta, quindi vota/contrassegna per chiudere le altre domande come duplicati. Se la domanda non è un duplicato, aggiungi le tue risposte alla domanda – kleopatra
- 1. Android: AutoCompleteTextView nascondi tastiera virtuale
- 2. nascondi tastiera ios
- 3. Nascondi tastiera software
- 4. tastiera Event Listener In JavaScript
- 5. Nascondi tastiera software non funzionante
- 6. drawer di navigazione nascondi tastiera quando onDrawerOpened
- 7. Nascondi la tastiera dopo le ricerche dell'utente?
- 8. Nascondi pulsante del microfono Android tastiera virtuale
- 9. icone chiave tastiera
- 10. Tastiera Android. Sfondo chiave
- 11. Nascondi la tastiera virtuale su Done Keypress in Android?
- 12. Mostra/nascondi tastiera software Android sul frammento sostituire
- 13. Nascondi automaticamente la tastiera virtuale in ViewPager.OnPageChangeListener onPageSelected()?
- 14. Come rilevare l'utente iPad toccare il pulsante Nascondi tastiera?
- 15. Android: Nascondi tastiera dopo il clic del pulsante
- 16. Android Nascondi tastiera quando si sostituiscono i frammenti
- 17. Come acquisire l'evento Nascondi tastiera su iOS utilizzando JavaScript
- 18. Nascondi tastiera virtuale dopo la chiusura della finestra di dialogo
- 19. Nascondi barra degli strumenti sopra la tastiera dell'iPhone, PhoneGap
- 20. Nascondi barra della tastiera scorciatoia per UIWebView in iOS 9
- 21. Nascondi taglia/incolla da pannello Tastiera in iOS 9
- 22. Dichiarazione di UsersController :: beforeFilter() dovrebbe essere compatibile con AppController :: beforeFilter (torta \ Event \ Event $ event)
- 23. Javascript - Rilevamento chiave scheda iPad con tastiera Bluetooth
- 24. Trigger Real Event con jQuery
- 25. Nascondi visualizzazione immagine quando viene visualizzata la tastiera e mostra quando scompare la tastiera
- 26. Quale ChoiceBox-Event scegliere?
- 27. jQuery Autocomplete: Event-select
- 28. Nascondi cartelle con .htaccess
- 29. nascondi segnaposto con css
- 30. Disattiva tastiera <enter> chiave
Potrei sbagliarmi, ma che ne dici di nascondere prima la tastiera e quindi rendere invisibile l'EditText? – banzai86
@ banzai86 sì questo è quello che sto cercando di fare. –