最初はソフト キーボードで全体のアクティビティを覆い隠すことなく、アクティビティ全体を表示しようとするバグまたは機能だと思います。私はそれに関する情報を一度検索しましたが、残念ながら、本当に信頼できる情報源からのものは何も見つかりませんでした.
とにかく、ソフト キーボードを表示するには、次のようにします。
EditText editText = (EditText)findViewById(R.id.edit_text_id);
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
アクティビティの開始直後にソフトキーボードを強制的に表示する次のコードも見ましたが、試したことはありません。
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
ソフト キーボードを非表示にする場合は、次のようにします。
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
それが役立つことを願っています。
編集:
これは機能するDialogFragment
はずです:onCreateView()
メソッドでこれを行います:
@Override
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 keyboard
editText.requestFocus();
getDialog().getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);
return view;
}