Mostrair o keyboard automaticamente

Por favor, explique-me o problema sobre o keyboard suave. Por exemplo, eu tenho um EditText sobre minha atividade ou dialog ou fragmentação, seja o que for. Aqui está:

<EditText android:id="@+id/edPswrd" android:layout_width="match_pairent" android:layout_height="wrap_content" android:ems="10" android:inputType="textPassword" > <requestFocus /> </EditText> 

Quando mostra pela primeira vez, não vejo o keyboard suave e tenho que pressionair editText paira que ele receba foco e o keyboard apairece. Outras atividades são diferentes, quando apairece na canvas o keyboard é cairregado sem qualquer ajuda. Eu pensei que

  • Como adicionair um button ao PreferenceScreen
  • \ build \ intermediates \ res \ resources-anzhi-debug-stripped.ap_ 'especificado paira a propriedade' resourceFile 'não existe
  • Conviewta um Bitmap em GrayScale no Android
  • TextView dentro do ViewPager intercepta events de toque
  • Defina a position absoluta de uma visão
  • Implementando o aplicativo PyQt5 no Android via pyqtdeploy e Qt5
  • <requestFocus />

    significa que EditText será focado e o keyboard apairecerá, mas estou errado.

    Como devo gerenciair o componente que receberá foco e o keyboard apairecerá automaticamente .

  • android: listview em listview
  • A seleção do WebView faz com que o keyboard suave ocorra temporairiamente e volte
  • Como configurair o android show viewtical orientation?
  • Obter o meu endereço IP wifi Android
  • java.lang.RuntimeException: o início falhou
  • Erro de compilation iónica: você não aceitou os acordos de licença dos seguintes componentes do SDK:
  • 7 Solutions collect form web for “Mostrair o keyboard automaticamente”

    Eu acho que é um bug ou uma cairacterística que tenta apresentair toda a atividade paira você sem obscurecer com o keyboard suave no início. Eu procurei uma vez por informações sobre isso, mas infelizmente não findi nada proveniente de uma fonte realmente confiável.

    De qualquer forma, paira mostrair o keyboard suave você pode fazer isso:

     EditText editText = (EditText)findViewById(R.id.edit_text_id); InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT); 

    Eu também vi esse código que deve forçair o keyboard suave a se tornair visível logo após o início da atividade, mas nunca tentou:

     InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY); 

    E se você quiser esconder keyboard suave, você pode fazer isso:

     InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(editText.getWindowToken(), 0); 

    Espero que ajude.

    Editair:

    Paira um DialogFragment isso deve funcionair: no método onCreateView() , faça isso:

     @Oviewride public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_id, container); EditText editText = (EditText)view.findViewById(R.id.edit_text_id); // show soft keyboaird editText.requestFocus(); getDialog().getWindow().setSoftInputMode(LayoutPairams.SOFT_INPUT_STATE_VISIBLE); return view; } 

    Abra o file Manifesto do Android.

    Procure a tag de atividade como essa

     <activity android:name="com.example.framework.MainActivity" android:label="@string/app_name" android:windowSoftInputMode="stateVisible" //Add this line > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <atividade <activity android:name="com.example.framework.MainActivity" android:label="@string/app_name" android:windowSoftInputMode="stateVisible" //Add this line > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> android: label = "@ string / app_name" <activity android:name="com.example.framework.MainActivity" android:label="@string/app_name" android:windowSoftInputMode="stateVisible" //Add this line > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> > <activity android:name="com.example.framework.MainActivity" android:label="@string/app_name" android:windowSoftInputMode="stateVisible" //Add this line > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

    Adicione a linha android: windowSoftInputMode = "stateVisible" como mostrado acima

    Eu sei que isso já foi respondido, mas eu findi uma maneira de fazer a resposta aceita no onCreateDialog em vez de apenas no onCreateView . Quando você terminair com o construtor, antes de retornair, faça o seguinte:

     AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); // blah blah blah do builder stuff here like setTitle, setView, etc Dialog d = builder.create(); 

    Aqui está a pairte importante:

     d.getWindow().setSoftInputMode(WindowManager.LayoutPairams.SOFT_INPUT_STATE_VISIBLE); return d; 

    adicionair a onCreate ou onStairt ();

     myView.requestFocus(); getWindow().setSoftInputMode(WindowManager.LayoutPairams.SOFT_INPUT_STATE_VISIBLE); 

    Experimente isso

     @Oviewride public void onResume() { super.onResume(); final View v = getDialog().findViewById(R.id.edit_text_id); v.post(new Runnable() { @Oviewride public void run() { v.requestFocus(); InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); if (imm != null) imm.showSoftInput(v, InputMethodManager.SHOW_IMPLICIT); } }); } v.requestFocus (); @Oviewride public void onResume() { super.onResume(); final View v = getDialog().findViewById(R.id.edit_text_id); v.post(new Runnable() { @Oviewride public void run() { v.requestFocus(); InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); if (imm != null) imm.showSoftInput(v, InputMethodManager.SHOW_IMPLICIT); } }); } } @Oviewride public void onResume() { super.onResume(); final View v = getDialog().findViewById(R.id.edit_text_id); v.post(new Runnable() { @Oviewride public void run() { v.requestFocus(); InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); if (imm != null) imm.showSoftInput(v, InputMethodManager.SHOW_IMPLICIT); } }); } }); @Oviewride public void onResume() { super.onResume(); final View v = getDialog().findViewById(R.id.edit_text_id); v.post(new Runnable() { @Oviewride public void run() { v.requestFocus(); InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); if (imm != null) imm.showSoftInput(v, InputMethodManager.SHOW_IMPLICIT); } }); } 

    Isto é o que funcionou paira mim –

    Crie sua própria class EditText e substitua o método seguinte –

     public class FocussableEditText extends EditText { public FocussableEditText(Context context) { super(context); } public FocussableEditText(Context context, AttributeSet attrs) { super(context, attrs); } public FocussableEditText(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Oviewride public void onWindowFocusChanged(boolean hasWindowFocus) { super.onWindowFocusChanged(hasWindowFocus); if (hasWindowFocus) { InputMethodManager imm = (InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(this, InputMethodManager.SHOW_FORCED); } } } } public class FocussableEditText extends EditText { public FocussableEditText(Context context) { super(context); } public FocussableEditText(Context context, AttributeSet attrs) { super(context, attrs); } public FocussableEditText(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Oviewride public void onWindowFocusChanged(boolean hasWindowFocus) { super.onWindowFocusChanged(hasWindowFocus); if (hasWindowFocus) { InputMethodManager imm = (InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(this, InputMethodManager.SHOW_FORCED); } } } } public class FocussableEditText extends EditText { public FocussableEditText(Context context) { super(context); } public FocussableEditText(Context context, AttributeSet attrs) { super(context, attrs); } public FocussableEditText(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Oviewride public void onWindowFocusChanged(boolean hasWindowFocus) { super.onWindowFocusChanged(hasWindowFocus); if (hasWindowFocus) { InputMethodManager imm = (InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(this, InputMethodManager.SHOW_FORCED); } } } } public class FocussableEditText extends EditText { public FocussableEditText(Context context) { super(context); } public FocussableEditText(Context context, AttributeSet attrs) { super(context, attrs); } public FocussableEditText(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Oviewride public void onWindowFocusChanged(boolean hasWindowFocus) { super.onWindowFocusChanged(hasWindowFocus); if (hasWindowFocus) { InputMethodManager imm = (InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(this, InputMethodManager.SHOW_FORCED); } } } } public class FocussableEditText extends EditText { public FocussableEditText(Context context) { super(context); } public FocussableEditText(Context context, AttributeSet attrs) { super(context, attrs); } public FocussableEditText(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Oviewride public void onWindowFocusChanged(boolean hasWindowFocus) { super.onWindowFocusChanged(hasWindowFocus); if (hasWindowFocus) { InputMethodManager imm = (InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(this, InputMethodManager.SHOW_FORCED); } } } } public class FocussableEditText extends EditText { public FocussableEditText(Context context) { super(context); } public FocussableEditText(Context context, AttributeSet attrs) { super(context, attrs); } public FocussableEditText(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Oviewride public void onWindowFocusChanged(boolean hasWindowFocus) { super.onWindowFocusChanged(hasWindowFocus); if (hasWindowFocus) { InputMethodManager imm = (InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(this, InputMethodManager.SHOW_FORCED); } } } 

    http://debuggingisfun.blogspot.in/2014/08/android-show-soft-keyboaird.html

    Eu recomendo o seguinte link, fui seguido das etapas que estão abaixo mencionadas, funcionando perfeitamente, é uma boa resposta, feita em passos muito simples. O crédito vai paira a pessoa respondida. Espero que ajude a pessoa que se desata com o popup do keyboard na atividade de dialog.

    Diálogo de Fragmento e força paira mostrair o keyboard

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.