2

私は を持ってDialogEditTextます。私が直面している問題は次のとおりです。

1)。その瞬間にDialogが表示されると キーボード自体が来ません。そのため、プログラムでキーボードを起動する必要がありました。

InputMethodManager immOnResume = (InputMethodManager) getActivity().getSystemService(
                                        Context.INPUT_METHOD_SERVICE);
                        immOnResume.showSoftInput(mEditText,
                                InputMethodManager.SHOW_FORCED);

2)。ホームボタンを押しても、ホーム画面にキーボードが表示されたままになります。プログラムでキーボードを起動しているので、プログラムでキーボードを非表示にする必要があると思います。

InputMethodManager immN = (InputMethodManager) getActivity().getSystemService(
                                    Context.INPUT_METHOD_SERVICE);
                    immN.hideSoftInputFromWindow(
                            mEditText.getWindowToken(), 0);

しかし、これらも機能していません。どうすれば問題を解決できますか。

4

3 に答える 3

0

UI が XML で記述されている場合は、requestFocus タグを追加することを検討してください。

<EditText ...>
    <requestFocus />
</EditText>

これにより、ダイアログが開いたときに EditText フィールドにフォーカスが置かれ、キーボードが開きます。

ただし、UI がプログラムで作成されている場合

editText.requestFocus()
于 2013-05-30T16:44:22.513 に答える
0

試す

getWindow().setSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
于 2013-05-30T16:39:17.033 に答える