如何在聚焦MultiAutoCompleteTextView时显示软键盘

时间:2014-03-17 22:48:15

标签: android keyboard focus android-softkeyboard autocompletetextview

我已经尝试过常规但不起作用:

multiEdit.requestFocus();
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(multiEdit, InputMethodManager.SHOW_IMPLICIT);

请注意我的getActivity()。那是因为我在DialogFragment中使用MultiAutoCompleteTextView。该代码段位于onCreateView内。

2 个答案:

答案 0 :(得分:5)

以下对我来说可靠。它会自动聚焦视图。无需额外的工作。

multiEdit.postDelayed(new Runnable() {

        @Override
        public void run() {
            multiEdit.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(),
                    MotionEvent.ACTION_DOWN, 0, 0, 0));
            multiEdit.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(),
                    MotionEvent.ACTION_UP, 0, 0, 0));

        }
    }, 200);
}

答案 1 :(得分:1)

尝试

multiEdit.requestFocus();
getDialog().getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);