0

我正在 Android 上编写一个应用程序,我有这些按钮;当您单击它们时,如果输入面板(EditText)不可见,则会出现,否则会消失。问题是用户仍然可以在 EditText 消失后输入。我附上了两张图片来说明我的意思。

用户可以在编辑文本可见时键入 用户可以在 EditText 消失时输入(我仍然可以输入)

我试过.setEnabled(false)了 - 没用。

我试过.setFocusable(false)了 - 没用。

我一起尝试了 - 没有工作。

4

4 回答 4

1

您可以在设置可见性之前尝试隐藏软键盘。

InputMethodManager imm = (InputMethodManager) YourActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editView.getWindowToken(), 0);
于 2011-12-22T16:04:33.590 回答
1

我认为您需要关闭 Android 软键盘。此链接将帮助您解决此问题:关闭/隐藏 Android 软键盘

于 2011-12-22T16:06:12.900 回答
1

您可以使用TextWatcher和标志http://developer.android.com/reference/android/text/TextWatcher.html

准备逻辑,以便一旦可见性消失,然后输入public void onTextChanged(CharSequence s, int start, int before, int count)与之前相同的文本

也参考这个Android TextWatcher.afterTextChanged vs TextWatcher.onTextChanged

于 2011-12-22T16:22:57.710 回答
0

这些问题的这些答案表明您可以使用 InputFilter

editText.setFilters(new InputFilter[] {
    new InputFilter() {
        public CharSequence filter(CharSequence src, int start,
            int end, Spanned dst, int dstart, int dend) {
            return src.length() < 1 ? dst.subSequence(dstart, dend) : "";
        }
    }
});

为什么我可以输入禁用的 EditText?

我们可以在edittext中有不可编辑的文本吗

于 2011-12-22T16:22:33.257 回答