我的edittext在一个dialog中,实现目标:当dialog弹出时,输入法自动打开。
实现方法:
mTaskEditText = (EditText) view.findViewById(R.id.edit_task);
mTaskEditText.setText(content);
mTaskEditText.setFocusable(true);
mTaskEditText.setFocusableInTouchMode(true);
mTaskEditText.requestFocus();
if (!(content == null)) {
mTaskEditText.setSelection(content.length());
}
showInputMethod();
private void showInputMethod() {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
InputMethodManager imm = (InputMethodManager) getActivity()
.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.SHOW_FORCED);
}
}, 200);
}
private void dismissInputMethod() {
InputMethodManager manager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
if (manager.isActive()) {
manager.hideSoftInputFromWindow(
getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
}
}