gpt4 book ai didi

android - EditText软数字键盘有时不允许数字

转载 作者:行者123 更新时间:2023-11-29 01:26:08 27 4
gpt4 key购买 nike

以下代码生成一个 EditText(目标版本 23)。我已经为此工作了大约 8 个小时,并收到了一些建议,但我认为以前没有人见过这个,所以我仍然卡住了。

  1. 点击字段。
  2. A/N 软键盘打开。
  3. 点击 123?左下角的按钮。数字软键盘打开。
  4. 按任意数字。什么都没发生。
  5. 长按 5,“5/8”被添加到文本字段中。
  6. 按任何特殊字符,例如@。它可能会增加该领域。
  7. 清场。输入“for”,按 123?,现在它会输入数字。
  8. 清场。输入“for?”,按 123?,它不会输入数字。

我添加了一个 TextWatcher。如果数字没有发布,则 TextWatcher 也看不到它们。

EditText bottomT = new EditText(model);
bottomT.setTextSize(14);
bottomT.setHint("ZIP");
bottomT.setHintTextColor(Color.BLACK);
bottomT.setBackgroundColor(Color.WHITE);
bottomT.setTextColor(Color.BLACK);
// bottomT.setInputType(InputType.TYPE_CLASS_NUMBER) Didn't make any difference.
// bottomT.setRawInputType(InputType.TYPE_CLASS_NUMBER) Didn't make any difference.
// bottomT.setText("", TextView.BufferType.EDITABLE); DIdn't make a difference
bottomT.setText("");

最佳答案

EditText 行为异常,因为在我的自定义 ViewGroup 中有

 protected void onLayout(boolean changed, int l, int t, int r, int b)
{
....
child.layout(child.getLeft(), child.getTop(),
child.getLeft() + child.getMeasuredWidth(),
child.getTop() + child.getMeasuredHeight());

child.setRight(somevalue); // CAUSES EDITTEXT PROBLEMS
child.setBottom(somevalue); // CAUSES EDITTEXT PROBLEMS

现在很清楚我不能 setRight() 和 setBottom(),但也很清楚 EditText 不应该变得奇怪。

忽略退格键。

随机忽略数字键,但接受小数点。

忽略换行(回车)键

忽略或不忽略哪些键取决于设备。 Samsung Tab 4 或 Nexus 5 API 23 X86 模拟器是查看此内容的好地方。

关于android - EditText软数字键盘有时不允许数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33967732/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com