0

好的,我有一个 EditTexts 数组,我想遍历它们,所以如果某些 EditText 不包含文本,我想询问用户输入,我经历了很多小时和大量阅读,但我可以不明白这应该如何工作。这么几个问题:

requestfocus() 足够了吗?(它不工作 - 键盘不显示)

我尝试过使用 OnFocusChangeListener,然后尝试显示键盘 (showSoftInput(view,InputMethodManager.SHOW_IMPLICIT)),如果再次关注 editText 则它不起作用。

有谁知道让我摆脱这个三角形的好例子吗?

4

3 回答 3

1

view.requestFocus()是不足够的;

我正在使用这段代码:

public static void setSoftwareKeyboardVisibility(Context context, View view, boolean value) {
        final InputMethodManager manager = (InputMethodManager) context.getSystemService(Service.INPUT_METHOD_SERVICE);
        if (value) {
            view.requestFocus();
            manager.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);
        } else {
            // Any other not EditText View
            manager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.RESULT_UNCHANGED_SHOWN);
            view.requestFocus();
        }
    }

但是您说标准方法不起作用。尝试调用showSoftInputnot inOnFocusChange方法。当您将焦点设置在 EditText 上时调用它。

于 2013-11-03T10:31:56.263 回答
0

我现在找不到解决问题的页面,但解决方案如下:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
于 2013-11-03T19:09:13.527 回答
0

使用editText.requestFocus()where editText 是您的 EditText 视图,您可以将光标聚焦到该字段。

如果您想在对焦后显示键盘,请在此处查看 raukodraug 的答案。

于 2015-12-24T21:33:56.687 回答