86

私は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"

しかし、すべて無駄です。それは決して示しません。私は何が欠けていますか?

4

6 に答える 6

212

エミュレータがハードウェア キーボードを使用するように設定されていないことを確認する必要があります。これはEdit、AVD で選択したエミュレーターを選択することで実行できます。次に、設定のチェックHardware keyboard presentを外します。

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

Genymotion でハードウェア キーボードを無効にするには: ->に
移動し、下の項目を開きます。オン/オフを切り替える設定があります。オンのときは物理キーボードを使用し、オフのときはテキスト フィールドがフォーカスされるたびに標準のソフト キーボードがポップアップするはずです。SettingsLanguage & inputDefaultKeyboard & Input MethodsHardware

Genymotion 設定のスクリーンショット: デフォルト項目

ここに画像の説明を入力

于 2013-08-17T12:14:30.210 に答える
73

バージョン 2.1.1 では、仮想デバイスの設定をクリックし、[入力に仮想キーボードを使用する] チェックボックスを選択します。 ここに画像の説明を入力

ここに画像の説明を入力

于 2014-06-30T09:53:51.003 に答える
2

AS 1.1.0 でハードウェア キーボードを選択解除する場所は 2 つあります。これは十分ではありません:

ここに画像の説明を入力

これを行う必要があります ( をクリックしTools | Android | AVD Manager、新しい AVD を作成するか古い AVD を編集してから をクリックShow Advanced Settingsし、下にスクロールしてクリアしますEnable keyboard input):

ここに画像の説明を入力

于 2015-05-12T18:04:33.317 に答える
1

表示するには:

EditText editText = (EditText) findViewById(R.id.myEdit);
InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
// only will trigger it if no physical keyboard is open
mgr.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);

非表示にするには:

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

これを試してみてください....

于 2013-08-17T11:26:44.737 に答える