首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓的EditText不打开键盘

安卓的EditText不打开键盘
EN

Stack Overflow用户
提问于 2015-10-24 16:32:50
回答 2查看 948关注 0票数 2

我试图让我的用户重命名一个文件使用应用程序,我的问题是更多的设计。我希望在重命名时,EditText将包括旧的名称,并且它将被选中,而不包括文件扩展名。

我成功地做到了这一点,但我的问题是,即使选择了文本,键盘和文本上的光标也没有显示。这使得用户点击editText来重命名它,从而取消了选择,所以这就是为什么它真正困扰我的原因。

供参考的图像:

我的EditText xml (忽略可见性属性):

代码语言:javascript
复制
<EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/renameEditText"
        android:paddingTop="20dp"
        android:paddingBottom="20dp"
        android:layout_marginBottom="8dp"
        android:paddingLeft="20dp"
        android:visibility="gone"
        android:focusable="true"/>

设置选择的代码:

代码语言:javascript
复制
renameEdit.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if (hasFocus) {
                    String text = renameEdit.getText().toString();
                    if (!text.isEmpty()) {
                        int index = text.lastIndexOf('.');
                        if (index == -1)
                            renameEdit.selectAll();
                        else
                            renameEdit.setSelection(0, index);
                    }
                }
            }
        });

有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-24 16:39:41

一旦设置了selectAll()setSelection(),就可以弹出键盘。

代码语言:javascript
复制
    InputMethodManager inputMethodManager =  (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
    inputMethodManager.toggleSoftInputFromWindow(renameEdit.getApplicationWindowToken(),     InputMethodManager.SHOW_FORCED, 0);
票数 2
EN

Stack Overflow用户

发布于 2015-10-24 16:40:38

有几种方法可以编程打开软键盘。

甚至有几种在清单中以声明方式进行操作的方法;但是,这需要在活动启动时打开键盘。

试试这个.

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);

其他可能的答案在这里- Open soft keyboard programmatically

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33320560

复制
相关文章

相似问题

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