Android vise skjermtastaturet automatisk når fokus er på en EditText

Android: vise skjermtastaturet automatisk når fokus er på en EditText?

Du kan opprette et fokus lytteren på EditText på AlertDialog deretter få AlertDialog s Window Derfra kan du gjøre skjermtastaturet showet ved å ringe dialog endelig AlertDialog setSoftInputMode =. ; EditText. SetOnFocusChangeListener (ny visning. OnFocusChangeListener () < @Override public void onFocusChange(View v, boolean hasFocus) < if (hasFocus) < dialog.getWindow().

Android vise skjermtastaturet automatisk når fokus er på en EditText

SetSoftInputMode (WindowManager.LayoutParams SOFT_INPUT_STATE_ALWAYS_VISIBLE.); >>>).

Du kan opprette et fokus lytteren på EditText på AlertDialog, så får AlertDialog Window. Derfra kan du gjøre skjermtastaturet showet ved å ringe setSoftInputMode. Endelig dialog AlertDialog =. ; EditText.

ads

SetOnFocusChangeListener (ny visning. OnFocusChangeListener () < @Override public void onFocusChange(View v, boolean hasFocus) < if (hasFocus) < dialog.getWindow(). SetSoftInputMode(WindowManager.LayoutParams.

SOFT_INPUT_STATE_ALWAYS_VISIBLE); >>>).

1 Hvordan skulle jeg gjøre det ved hjelp av AlertDialog. Bygger. endelig AlertDialog.

Builder alert = ny AlertDialog. Builder (hoved Dette.); - Stephen 25 januar på 18:02 Fungerer ikke for meg - Nexus S.

Prøvd før og etter showet (). - Kilaka 04.08 på 16:43 Virker ikke for meg heller. Dialogboksen Min inneholder en Listview og jeg legge denne lytteren fra sin Adapter.

- Yulia Rogovaya 05.08 på 9:43 Fungerer ikke for meg heller. - Esilver 17 august på 08:57 @Stephen du kan få dialogen fra byggherren ved hjelp endelige AlertDialog dialog = builder.create () og deretter showon dialogen i stedet for byggherren. - Tidbeck 11 oktober på 9:38.

Ta en titt på denne diskusjonen som håndterer manuelt gjemmer seg og viser IME. Men det er min følelse at hvis en fokusert EditText ikke er å bringe IME opp er det fordi du ringer AlertDialog.show () i din onCreate () eller en annen metode som er fremkalt før skjermen er faktisk presentert. Flytte den til OnPostResume () skal fikse det i så fall tror jeg.

Jeg hadde det samme problemet og løste det med følgende kode. Jeg er ikke sikker på hvordan det vil oppføre seg på en telefon med maskinvaretastatur. // TextEdit endelige EditText TextEdit = new EditText (denne); // Builder AlertDialog.

Builder alert = ny AlertDialog. Builder (denne); varsling. SetTitle ( "Enter text"); varsling.

Android vise skjermtastaturet automatisk når fokus er på en EditText

Setview (TextEdit); varsling. SetPositiveButton ( "Ok", ny DialogInterface.OnClickListener () < @Override public void onClick(DialogInterface dialog, int which) < String text = textEdit.getText().toString(); finish(); > >); varsling. SetNegativeButton ( "Avbryt", ny DialogInterface.OnClickListener () < @Override public void onClick(DialogInterface dialog, int which) < finish(); > >); // Dialog AlertDialog dialog = alert.create (); dialogen.

SetOnShowListener (ny OnShowListener () < @Override public void onShow(DialogInterface dialog) < InputMethodManager imm = (InputMethodManager) getSystemService(Context. INPUT_METHOD_SERVICE); imm. ShowSoftInput(textEdit, InputMethodManager.

SHOW_IMPLICIT); >>); dialog.show ().

Jeg ser ikke setOnShowListener på AlertDialog i det hele tatt. - Ted 20 oktober på 12:52 Det er i Dialog klasse API-nivå 8. - tidbeck 21 oktober på 14:19.

Den opprinnelige spørsmålet gjelder Dialoger og min EditText er på et vanlig syn. Anyhow, jeg mistenker at dette skal fungere for de fleste av dere også. Så her er hva som fungerer for meg (den ovenfor foreslåtte høyest rangerte metode gjorde ingenting for meg).

Her er en tilpasset EditView som gjør dette (subclassing er ikke nødvendig, men jeg fant det praktisk for mitt formål som jeg ønsket å også ta tak i fokus når utsikten blir synlig). Dette er faktisk i stor grad de samme som tidbecks svare. Jeg faktisk ikke merke hes svare i det hele tatt som den hadde null opp stemmer.

Da jeg var i ferd med å bare kommentere han innlegg, men det ville ha vært for lang, så jeg endte gjøre dette innlegget anyways. Tidbeck påpeker at han er usikker på hvordan det fungerer med enheter med tastatur. Jeg kan bekrefte at atferden synes å være nøyaktig den samme i begge tilfeller.

At det å være slik at på portrettmodus programvaretastaturet blir poppet opp og på landskapet er det ikke. Å ha det fysiske tastaturet skyves ut eller ikke gjør ingen forskjell på telefonen min. Fordi, jeg personlig fant oppførselen litt vanskelig jeg har valgt å bruke: InputMethodManager.

Android vise skjermtastaturet automatisk når fokus er på en EditText

SHOW_FORCED. Dette fungerer som jeg ville ha det til å fungere. Tastaturet blir synlig uavhengig av legning, men i alle fall på min enhet er det ikke dukker opp hvis det fysiske tastaturet har blitt skjøvet ut.

Import android.app. Service; import android.content. Kontekst; import android.util.

AttributeSet; import android.view. Utsikt; import android.view.inputmethod. InputMethodManager; import android.widget.

EditText; public class BringOutTheSoftInputOnFocusEditTextView strekker EditText < protected InputMethodManager inputMethodManager; public BringOutTheSoftInputOnFocusEditTextView(Context context, AttributeSet attrs, int defStyle) < super(context, attrs, defStyle); init(); > offentlig BringOutTheSoftInputOnFocusEditTextView (Context kontekst, AttributeSet attrs) < super(context, attrs); init(); > offentlig BringOutTheSoftInputOnFocusEditTextView (Context kontekst) < super(context); init(); > private void init () < this. InputMethodManager = (InputMethodManager)getContext(). GetSystemService(Service.

INPUT_METHOD_SERVICE); dette. SetOnFocusChangeListener (ny visning. OnFocusChangeListener () < @Override public void onFocusChange(View v, boolean hasFocus) < if (hasFocus) < BringOutTheSoftInputOnFocusEditTextView.this.

InputMethodManager. ShowSoftInput (BringOutTheSoftInputOnFocusEditTextView. Dette, InputMethodManager.

Du kan be om en myk tastatur rett etter å skape dialog endelige AlertDialog dialog =. ; dialog.getWindow (). SetSoftInputMode (WindowManager.LayoutParams. SOFT_INPUT_STATE_ALWAYS_VISIBLE.

Hvis du ikke får resultatet for ovennevnte løsning, så kan du åpne tastaturet ved å tvinge den, så jeg kodingen på dette nettstedet android-koder-examples.blogspot / 2011. .

Tidbeck påpeker at han er usikker på hvordan det fungerer med enheter med tastatur. Jeg kan bekrefte at atferden synes å være nøyaktig den samme i begge tilfeller. At det å være slik at på portrettmodus programvaretastaturet blir poppet opp og på landskapet er det ikke.

Å ha det fysiske tastaturet skyves ut eller ikke gjør ingen forskjell på telefonen min. Fordi, jeg personlig fant oppførselen litt vanskelig jeg har valgt å bruke: InputMethodManager. Dette fungerer som jeg ville ha det til å fungere.

Tastaturet blir synlig uavhengig av legning, men i alle fall på min enhet er det ikke dukker opp hvis det fysiske tastaturet har blitt skjøvet ut.

Du kan opprette et fokus lytteren på EditText på AlertDialog deretter få AlertDialog 's Window. Derfra kan du gjøre skjermtastaturet showet ved å ringe setSoftInputMode.

Relaterte innlegg

  • Android. Flytt utforminger Up Når Soft Keyboard Vist? 27 desember 2009 Jeg har noen elementer i en RelativeView med justere bunnen attributt satt, da det myke tastaturet kommer opp elementene er ...

  • Android. Skjul Soft Keyboard På Android når jeg klikker Utenfor EditText 12 november 2010 Alle vet at å skjule et tastatur du trenger for å implementere: Men big deal her er hvordan å skjule ...

  • Skrive raskere på iPhone eller iPad ved hjelp av en av disse alternativer til standard iPhone-tastaturet. Best Keyboard Apps Kort Type Fleksy SwiftKey Swype TouchPal Typeeto Flere historier Best ...

  • Best eReader for Android Reading ebøker på Android pleide å være bare greit nok. Nå er det kjempeflott. Mens det er mange søte apps for å lese bøker på telefonen eller nettbrettet, Play Bøker har ...

  • Video: Hands-on med ny Instagram video på Android Ikke at det var mye av en overraskelse etter et par rapporter brøt nyheten i dagene fram til dagens Facebook event, men ja, de ...