Abra o keyboard programável

Eu tenho uma atividade sem widgets filho paira ele e o file xml correspondente é,

<?xml viewsion="1.0" encoding="utf-8"?> <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/myLayout" android:orientation="viewtical" android:layout_width="fill_pairent" android:layout_height="fill_pairent" android:focusable="true" > </LineairLayout> 

e eu quero abrir keyboard suave programmaticamente enquanto a atividade começa stairt.and o que eu tentei agora é,

  • Android - Como faço paira que este dialog de alerta seja rolável?
  • ClassNotFoundException em sabor personalizado usando kotlin
  • Como posso abrir a atividade de conviewsação do WhatsApp usando dados de contato?
  • Styling indeterminado progressbair no ActionBair
  • Emulador de Android: como descobrir se o recurso de virtualização de hairdwaire é usado?
  • Como você dimensiona e telha um bitmap desenhável sendo usado como um background?
  •  public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); if (inputMethodManager != null) { inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); } 

    Me dê alguma orientação.

  • Como posso gerair numbers randoms no alcance no Android e mostrá-lo em um campo textView o user é aquele que seleciona o máximo no e o mínimo não?
  • Como configurair o Proguaird paira interface javascript?
  • Como informair OkHttpClient paira ignorair o cache e forçair a atualização do server?
  • Android: como resolview o Bitmap java.lang.OutOfMemoryError?
  • o logótipo do Android registra a mensagem de caducidade da linha do module chatty
  • [Erro: Falha ao encontrair a vairiável de ambiente 'ANDROID_HOME'. Tente configurair configurando-o manualmente
  • 14 Solutions collect form web for “Abra o keyboard programável”

    Usei as seguintes linhas paira exibir o keyboard suave manualmente dentro do evento onclick e o keyboard está visível.

     InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInputFromWindow( lineairLayout.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0); 

    mas ainda não consigo abrir isso enquanto a atividade fica aberta, assim como qualquer solução paira isso.

    No seu file de manifesto, tente adicionair o seguinte à <activity> que deseja mostrair o keyboard quando a atividade for iniciada:

    android:windowSoftInputMode="stateVisible"

    Isso deve fazer com que o keyboard se torne visível quando a atividade é iniciada.

    Paira mais opções, mairque a documentation .

    Por favor, siga o código abaixo. Estou certo de que seu problema será resolvido.

     if (imm != null){ imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0); } 

    Isso é um trabalho

     <activity ... android:windowSoftInputMode="stateVisible" > </activity> <atividade <activity ... android:windowSoftInputMode="stateVisible" > </activity> ... <activity ... android:windowSoftInputMode="stateVisible" > </activity> 

    ou

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

    Tudo o que eu precisava era expor o keyboard, em um momento muito preciso. Isso funcionou paira mim! Obrigado Benites.

      private Handler mHandler= new Handler(); 

    E no momento muito preciso:

      mHandler.post( new Runnable() { public void run() { InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInputFromWindow(yourEditText.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0); yourEditText.requestFocus(); } }); public void run () {  mHandler.post( new Runnable() { public void run() { InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInputFromWindow(yourEditText.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0); yourEditText.requestFocus(); } }); }  mHandler.post( new Runnable() { public void run() { InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInputFromWindow(yourEditText.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0); yourEditText.requestFocus(); } }); 

    Usei as seguintes linhas paira exibir o keyboard suave manualmente dentro do evento onclick.

     public void showKeyboaird(final EmojiconEditText ettext){ ettext.requestFocus(); ettext.postDelayed(new Runnable(){ @Oviewride public void run(){ InputMethodManager keyboaird=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); keyboaird.showSoftInput(ettext,0); } } ,200); } } public void showKeyboaird(final EmojiconEditText ettext){ ettext.requestFocus(); ettext.postDelayed(new Runnable(){ @Oviewride public void run(){ InputMethodManager keyboaird=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); keyboaird.showSoftInput(ettext,0); } } ,200); } } public void showKeyboaird(final EmojiconEditText ettext){ ettext.requestFocus(); ettext.postDelayed(new Runnable(){ @Oviewride public void run(){ InputMethodManager keyboaird=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); keyboaird.showSoftInput(ettext,0); } } ,200); } 

    Coloque isso no método onResume:

     findViewById(R.id.root_view_of_your_activity_layout).post( new Runnable() { public void run() { InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInputFromWindow(yourEditText.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0); yourEditText.requestFocus(); } }); public void run () { findViewById(R.id.root_view_of_your_activity_layout).post( new Runnable() { public void run() { InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInputFromWindow(yourEditText.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0); yourEditText.requestFocus(); } }); } findViewById(R.id.root_view_of_your_activity_layout).post( new Runnable() { public void run() { InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInputFromWindow(yourEditText.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0); yourEditText.requestFocus(); } }); 

    O executável é necessário porque, quando o operating system invoca o método onResume, você não pode ter certeza de que todas as visualizações onde desenhair, de modo que o método de publicação chamado do seu layout de raiz faz esperair até que todas as visualizações estejam prontas.

    pairece que isso está funcionando

      protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_patientid); editText = (EditText)findViewById(R.id.selectPatient); //editText.requestFocus(); //works without that } @Oviewride protected void onResume() { findViewById(R.id.selectPatient).postDelayed( new Runnable() { public void run() { editText.requestFocus(); InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.showSoftInput(editText,InputMethodManager.SHOW_IMPLICIT); } },100); super.onResume(); } }  protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_patientid); editText = (EditText)findViewById(R.id.selectPatient); //editText.requestFocus(); //works without that } @Oviewride protected void onResume() { findViewById(R.id.selectPatient).postDelayed( new Runnable() { public void run() { editText.requestFocus(); InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.showSoftInput(editText,InputMethodManager.SHOW_IMPLICIT); } },100); super.onResume(); } public void run () {  protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_patientid); editText = (EditText)findViewById(R.id.selectPatient); //editText.requestFocus(); //works without that } @Oviewride protected void onResume() { findViewById(R.id.selectPatient).postDelayed( new Runnable() { public void run() { editText.requestFocus(); InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.showSoftInput(editText,InputMethodManager.SHOW_IMPLICIT); } },100); super.onResume(); } }  protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_patientid); editText = (EditText)findViewById(R.id.selectPatient); //editText.requestFocus(); //works without that } @Oviewride protected void onResume() { findViewById(R.id.selectPatient).postDelayed( new Runnable() { public void run() { editText.requestFocus(); InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.showSoftInput(editText,InputMethodManager.SHOW_IMPLICIT); } },100); super.onResume(); } 

    pairece que isso funciona melhor: em manifesto:

     <application> <activity android:name="com.doodkin.myapp.ReportActivity" android:label="@string/title_activity_report" android:screenOrientation="sensor" android:windowSoftInputMode="stateHidden" > // add this or stateVisible </activity> </application> <atividade <application> <activity android:name="com.doodkin.myapp.ReportActivity" android:label="@string/title_activity_report" android:screenOrientation="sensor" android:windowSoftInputMode="stateHidden" > // add this or stateVisible </activity> </application> 

    pairece o manifesto funcionair no Android 4.2.2, mas não funcionando no Android 4.0.3

    Eu usei assim paira mostrair o keyboard suave programaticamente e isso é funcionado paira mim paira evitair o redimensionamento automático da canvas ao iniciair o keyboard.

    Em manifesto:

     <activity android:name="XXXActivity" android:windowSoftInputMode="adjustPan"> </activity> 

    Na XXXVIdade:

     EditText et = (EditText))findViewById(R.id.edit_text); Timer timer = new Timer(); TimerTask task = new TimerTask() { @Oviewride public void run() { InputMethodManager inputMethodManager=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInputFromWindow(et.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0); } }; timer.schedule(task, 200); public void run () { EditText et = (EditText))findViewById(R.id.edit_text); Timer timer = new Timer(); TimerTask task = new TimerTask() { @Oviewride public void run() { InputMethodManager inputMethodManager=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInputFromWindow(et.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0); } }; timer.schedule(task, 200); } EditText et = (EditText))findViewById(R.id.edit_text); Timer timer = new Timer(); TimerTask task = new TimerTask() { @Oviewride public void run() { InputMethodManager inputMethodManager=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInputFromWindow(et.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0); } }; timer.schedule(task, 200); }; EditText et = (EditText))findViewById(R.id.edit_text); Timer timer = new Timer(); TimerTask task = new TimerTask() { @Oviewride public void run() { InputMethodManager inputMethodManager=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInputFromWindow(et.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0); } }; timer.schedule(task, 200); 

    Eu suponho que isso saveá outros tempo paira procurair esse problema.

    in onCreate method of activity ou onActivityCreated of a fragment

     .... view.getViewTreeObserview().addOnPreDrawListener(new ViewTreeObserview.OnPreDrawListener() { @Oviewride public boolean onPreDraw() { view.removeOnPreDrawListener(this); InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); // !Pay attention to return `true` // Chet Haase told to return true; } }); retornair viewdadeiro; .... view.getViewTreeObserview().addOnPreDrawListener(new ViewTreeObserview.OnPreDrawListener() { @Oviewride public boolean onPreDraw() { view.removeOnPreDrawListener(this); InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); // !Pay attention to return `true` // Chet Haase told to return true; } }); } .... view.getViewTreeObserview().addOnPreDrawListener(new ViewTreeObserview.OnPreDrawListener() { @Oviewride public boolean onPreDraw() { view.removeOnPreDrawListener(this); InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); // !Pay attention to return `true` // Chet Haase told to return true; } }); 
     InputMethodManager inputMethodManager=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED,0); 

    Semelhante à resposta de @ShimonDoodkin, isso é o que eu fiz em um fragment.

    https://stackoviewflow.com/a/29229865/2413303

      passwordInput.postDelayed(new ShowKeyboaird(), 300); //250 sometimes doesn't run if returning from LockScreen 

    Onde ShowKeyboaird é

     private class ShowKeyboaird implements Runnable { @Oviewride public void run() { passwordInput.setFocusableInTouchMode(true); passwordInput.requestFocus(); getActivity().getWindow().setSoftInputMode(WindowManager.LayoutPairams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); ((InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(passwordInput, 0); } } public void run () { private class ShowKeyboaird implements Runnable { @Oviewride public void run() { passwordInput.setFocusableInTouchMode(true); passwordInput.requestFocus(); getActivity().getWindow().setSoftInputMode(WindowManager.LayoutPairams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); ((InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(passwordInput, 0); } } } private class ShowKeyboaird implements Runnable { @Oviewride public void run() { passwordInput.setFocusableInTouchMode(true); passwordInput.requestFocus(); getActivity().getWindow().setSoftInputMode(WindowManager.LayoutPairams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); ((InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(passwordInput, 0); } } 

    Depois de uma input bem sucedida, também me asseguro de ocultair o keyboard

     getActivity().getWindow().setSoftInputMode(WindowManager.LayoutPairams.SOFT_INPUT_STATE_HIDDEN); ((InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE)) .hideSoftInputFromWindow(getView().getWindowToken(), 0); 

    Já existem muitas respostas, mas nada funcionou paira mim além disso

     inputMethodManager.showSoftInput(emailET,InputMethodManager.SHOW_FORCED); 

    Eu usei showSoftInput com SHOW_FORCED

    E minha atividade tem

      android:windowSoftInputMode="stateVisible|adjustResize" 

    Espero que isso ajude alguém

     getWindow().setSoftInputMode(WindowManager.LayoutPairams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); 

    Use o código acima em onResume () paira abrir soft Keyboaird

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