首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >安卓TextField :编程设置焦点+软输入

安卓TextField :编程设置焦点+软输入
EN

Stack Overflow用户
提问于 2011-11-10 21:55:23
回答 5查看 91.1K关注 0票数 84

在我看来,我有一个搜索EditText,我想以编程方式触发字段上的单击事件的行为,即在必要时将焦点放在文本字段并显示软键盘(如果没有可用的硬键盘)。

我试过field.requestFocus()了。该字段实际上获得了焦点,但不显示软键盘。

我试过field.performClick()了。但这只调用了字段的OnClickListener。

有什么想法吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 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);
票数 153
EN

Stack Overflow用户

发布于 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);
    }
});

就这样!享受;)

票数 66
EN

Stack Overflow用户

发布于 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));
            }
        });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8080579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档