我已经尝试了通常的方法,但是没有用:
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);
}