我已经尝试了通常的方法,但是没有用:

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


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

最佳答案

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

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);
}

09-07 03:19