在我看来,我有一个搜索EditText,我想以编程方式触发字段上的单击事件的行为,即在必要时将焦点放在文本字段并显示软键盘(如果没有可用的硬键盘)。
我试过field.requestFocus()
了。该字段实际上获得了焦点,但不显示软键盘。
我试过field.performClick()
了。但这只调用了字段的OnClickListener。
有什么想法吗?
发布于 2011-11-10 21:58:39
好的先生,试试这个:
edittext.setFocusableInTouchMode(true);
edittext.requestFocus();
我不确定,但这可能需要在一些手机上(一些较旧的设备):
final InputMethodManager inputMethodManager = (InputMethodManager) context
.getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.showSoftInput(edittext, InputMethodManager.SHOW_IMPLICIT);
发布于 2013-04-18 17:17:12
以下是为我工作的代码。
edittext.post(new Runnable() {
public void run() {
edittext.requestFocusFromTouch();
InputMethodManager lManager = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
lManager.showSoftInput(edittext, 0);
}
});
就这样!享受;)
发布于 2016-05-20 18:01:08
field.post(new Runnable() {
@Override
public void run() {
field.requestFocus();
field.onKeyUp(KeyEvent.KEYCODE_DPAD_CENTER, new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_CENTER));
}
});
https://stackoverflow.com/questions/8080579
复制相似问题