0

我正在构建一个 Android 应用程序,我希望用户能够投入大量资金。为此,我想要两个框,一个用于欧元的整数,一个用于小数。为此,我当然可以使用两个 textView 并将内容转换为 BigDecimal(我们用于货币面额的类型)。不过,这有两个缺点;

  1. 我希望弹出的软键盘只显示数字,而不是字母,当然,该框也应该只接受数字。
  2. 当一个人点击点时,我希望它自动切换到十进制框。

定义 xml 时,我找不到任何特定的“numberView”或类似的东西。看到这不仅发生在我们的应用程序中,我想还​​有更好的方法来做到这一点。我四处寻找,但我真的找不到我要找的东西(尽管我可能会搜索错误的词)。

所以我的问题;有人知道我应该如何处理在 Android 应用中插入金额吗?

4

2 回答 2

1

对于你的第一个问题:ardroid:inputType="numberDecimal"

对于您的第二个问题:将点击侦听器添加到点视图(文本框或其他任何内容)以专注于第二个 EditText。

编辑:如果用户有一个非标准键盘,它可能不接受 numberDecimal 输入类型。设置 set 也可能是个好主意android:digits="0,1,2,3,4,5,6,7,8,9"

于 2013-09-29T11:25:16.853 回答
1

脚步 :

1)使用 android:inputType="numberDecimal"

2)然后在你的java类中实现TextWatcher。

3) onCreate() 方法内部设置监听器

EditText e1 = (EditText) findViewById(R.id.et1); e1.addTextChangedListener(this);

4)

@Override
    public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
        if (arg0.toString().contains(".")) {
            // e2.requestFocus(); // Set focus to second editText
        }

    }
于 2013-09-29T12:01:20.597 回答