1. ホーム
  2. android

[解決済み] エミュレータでAndroidのソフトキーボードが表示されない

2023-05-06 22:51:13

質問

私はAndroidの初心者です。検索にすでに2時間費やしています。ソフトキーボードが表示されません。 EditText . 私は単純にそれを作成します。

EditText editText = (EditText)findViewById(R.id.editText);

試してみました。

 editText.requestFocus();//i tried without this line too
 InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
 imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);

とする。

editText.setOnFocusChangeListener(new OnFocusChangeListener() {

         @Override
         public void onFocusChange(View v, boolean hasFocus) 
         {    

                     InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                     imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);

         }
     });

も試してみました。

getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);

にこの行を入れてみました。 AndroidManifest.xml ファイルに書いてみました。

 android:windowSoftInputMode="stateVisible|adjustResize"

が、すべて無駄。それは決して表示されません。私は何を見逃しているのでしょうか?

どのように解決するのですか?

お使いのエミュレータが、(1) (2) (3) のような ハードウェアキーボード . これを行うには Edit を選択します。次に のチェックをはずします。 Hardware keyboard present の設定を解除します。

などの別のエミュレータを使用してみるのもよいでしょう。 Genymotion . これはハードウェアアクセラレーション(マルチコアCPUとGPU)を完全にサポートしており、どのアンドロイドエミュレータイメージよりもはるかに高速に動作します。Genymotion を使用する場合は、Android 内のハードウェア キーボードを無効にする必要があります (詳細は以下を参照)。

Genymotion でハードウェア キーボードを無効にするには。

次の場所に移動します。 Settings -> Language & input を開き Default の下にある Keyboard & Input Methods . という項目があります。 Hardware の設定があり、オン/オフを切り替えることができます。それが オン にすると物理キーボードが使え、にすると オフ の場合、テキストフィールドにフォーカスが当たると標準のソフトキーボードがポップアップするはずです。

Genymotion の設定に関するスクリーンショットです。