2

私のアプリでは、EditText とのダイアログがあります。ダイアログが表示されるとすぐに、ソフトキーボードが表示され、編集テキストがフォーカスされ、editText 内のすべての既存のテキストが事前に選択されるようにコーディングしました。そして、ユーザーは入力を開始できます。携帯電話を縦向きに持っている場合、これはすべて正常に機能します。ただし、電話を横向きにすると、同じことが機能しません。私のフラグメントのコードの一部を以下に貼り付けます。

final EditText inputDeviceId = new EditText(getActivity());
inputDeviceId.setInputType(InputType.TYPE_CLASS_TEXT);
String savedDevId = getDeviceID();
inputDeviceId.setText(savedDevId);
inputDeviceId.setSelectAllOnFocus(true);

// some more code ... to create dialog , ok cancel buttons then,
final AlertDialog alertDialog = alertDialogBuilder.create();
inputDeviceId.setOnFocusChangeListener(new View.OnFocusChangeListener() {       
    if(hasFocus){   
        alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
                }
});

alertDialog.show();

現在、これはすべて縦向きで機能し、横向きでは機能しません。横向きモードでは、edittext を含むダイアログが表示され、フォーカスがあり、既存のテキストが事前に選択されていますが、キーボードは表示されません。キーボードが表示されるようにするには、ユーザーが editText をクリックする必要があります。なんで?テストには nexus-5 を使用しています。

4

0 に答える 0