【问题标题】:Android: Clear keyboard input when edittext is clearedAndroid:清除edittext时清除键盘输入
【发布时间】:2014-05-28 04:11:23
【问题描述】:

我想为我的编辑文本设置一个自动千位分隔符。 我用文本观察器做到了。在

public void afterTextChanged(Editable s) 

我保存我的编辑文本的当前值,用它格式化

@Override
        public void afterTextChanged(Editable s) {

            InputField.this.removeTextChangedListener(this);
            double tmp = getDoubleValue();

            s.clear();
s.append(DecimalFormat.getInstance(Locale.GERMAN).format(tmp));

            InputField.this.addTextChangedListener(this);
        }

    });

但是如果我清除可编辑项,我的 Galaxy Tab 中的键盘并不关心。它保留当前输入并用完整的数字填充编辑文本。一个简短的例子:

我输入“1”,键盘插入“1”,edittext显示“1”。
我输入“2”,键盘插入“12”,edittext显示“112”
我输入“3”,键盘插入“123”,edittext显示“112.123”
我按下删除按钮,键盘插入“12”,edittext显示“11.212.312” 我再次按下删除键,键盘插入“1”,edittext显示“112.123.121”

我的问题是: 如何禁用此键盘功能?

或者我怎样才能清理这个键盘“缓存”?

如果我使用输入类型“numberDecimal”,它可以工作,但我不能使用点作为千位分隔符(但在德国需要),因为它们将被解释为小数点并且只能有一个。

【问题讨论】:

    标签: android android-edittext android-keypad


    【解决方案1】:

    我不确定你是否可以清理缓存,但是禁用建议栏怎么样......你可以通过编程来做到这一点:

    YourEditText.setInputType(YourEditText.getInputType()
    | EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS
    | EditorInfo.TYPE_TEXT_VARIATION_FILTER);
    

    或者您可以在EditText XML 标记中停用.. 您可以设置:

    <EditText>
       android:inputType="textFilter
       .... />
    

    你也可以使用这个值,但不幸的是它不适用于所有设备,特别是 HTC

    android:inputType="textNoSuggestions"
    

    编辑

    有时它不起作用,因为它取决于键盘的实现来做正确的事情,包括标志。但是,一切都有一个解决方法,你可以试试下面的 XML 代码:

    android:inputType="textNoSuggestions|textVisiblePassword"
    

    或在 Java 中:

    yourEditText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
    

    如果有效,请给我反馈..

    【讨论】:

    • 试过了,没效果,我用的是三星Galaxy Tab 2
    • 建议栏还在显示?还是没有显示问题仍然存在?
    • 建议栏仍在显示。我在 xml 和代码中使用 noSuggestions、textfilter、visiblePassword 进行了尝试
    • 非常感谢 InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD 对我有用:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    相关资源
    最近更新 更多