相关疑难解决方法(0)

setFocusable和setFocusableInTouchMode有什么区别?

setFocusablesetFocusableInTouchModeAndroid视图有什么区别?

尝试阅读文档后的其他问题:

这些isFocusableisFocusableInTouchMode?有什么不同?

android focus

14
推荐指数
2
解决办法
2万
查看次数

如何在Android上的EditText中设置多个输入类型?

我正在尝试创建一个EditText自动大写和自动更正实现.我已经手动想出如何添加InputFilters以允许自动大写,虽然这仅键入第一个字母后才有效,而且我没有运气自动校正(我试图创建一个使用的InputFilter AutoText,但我不是确定这一切是如何工作的).理想情况下,我可以使用EditText.setInputType(...)来处理所有内容,但到目前为止这还没有奏效.有没有办法实现这个目标?我失败的尝试如下所示(我只是得到正常输入).

EditText mEditText = new EditText(this);
int inputType = InputType.TYPE_CLASS_TEXT;
if (auto_capitalize) {
    inputType = mEditText.getInputType() | InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS;
}
if (auto_correct) {
    inputType = mEditText.getInputType() | InputType.TYPE_TEXT_FLAG_AUTO_CORRECT;
}
mEditText.setInputType(inputType);
Run Code Online (Sandbox Code Playgroud)

请注意,我只对EditText在代码中创建此代码的解决方案感兴趣- 而不是通过XML.

编辑

我找到了描述TextKeyListener的声音新文档,但是在尝试使用它之后:

mEditText.setKeyListener(new TextKeyListener(TextKeyListener.Capitalize.CHARACTERS, true));
Run Code Online (Sandbox Code Playgroud)

并且使用@ farble1670的使用思路setRawInputType,以免影响KeyListeners,文本仍然没有变化.

android bitwise-operators input-filtering android-edittext

11
推荐指数
3
解决办法
2万
查看次数

Android EditText禁用编辑但允许滚动

我知道可以禁用编辑EditText.

答案就在这里,在这里.

但是,当我禁用EditText时,它还禁用了此文本中的垂直滚动.

是否可以仅禁用编辑,但允许滚动?

android android-edittext

8
推荐指数
1
解决办法
3596
查看次数

将Edittext设置为只读,然后恢复为可编辑

我发现了许多有关将编辑文本设置为readOnly或可编辑的问题,但是所有这些问题仅适用于某些特定情况。我需要以下功能:

可编辑的Edittext小部件应以编程方式设置为只读。如果为只读,则不可能输入数据,但应选择当前内容进行复制。应该将相同的字段设置回与以前相同的可编辑状态,因此允许输入并选择要复制/粘贴的文本。

这是我当前的代码:

        if (readOnly)
        {
            _text.setTextColor(Color.GRAY);
            _keyListener = _text.getKeyListener();
            _text.setKeyListener(null);
        }
        else
        {
            _text.setTextColor(_foreground);
            if (_keyListener != null)
            {
                _text.setKeyListener(_keyListener);
            }
            _text.setFocusable(true);
        }
Run Code Online (Sandbox Code Playgroud)

我已经尝试了以下方法:

  • 调用setTextIsSelectable()只读部分。这样可以在只读字段中选择文本。但是,如果我将其更改回可编辑状态,则该字段仍然只能选择。
  • 对于只读状态,将输入类型设置为null,然后将其设置回先前的状态,以将其设置为可编辑状态。这样,将该字段重新设置为可编辑后,该字段不可编辑。

我想我忘记设置某种侦听器或属性。也许你们当中的一个知道那是哪一个。

编辑:尝试以下操作: 在android中禁用EditText, 但它仅在我不会使用setTextIsSelectable()来使只读文本变为可选择状态时才有效。如果我设置了该值并切换回可编辑状态,则该字段只能选择,而不能编辑。

谢谢

android readonly android-edittext

0
推荐指数
2
解决办法
4064
查看次数