如何在Android App中插入金额?

时间:2013-09-29 11:15:37

标签: java android user-interface

我正在构建一个Android应用,我希望用户能够插入一笔钱。为此,我想要两个盒子,一个用于整个欧元,一个用于小数。为此,我当然可以使用两个textViews并将内容转换为BigDecimal(我们用于货币面额的类型)。但这有两个缺点;

  1. 我希望弹出的软键盘只显示数字,而不是字母,当然,盒子也应该只接受数字。
  2. 当一个人点击该点时,我希望它自动切换到十进制框。
  3. 在定义xml时,我找不到任何特定的“numberView”或类似的东西。看到这不仅仅发生在我们的应用程序中,我想有更好的方法来做到这一点。我四处寻找,但我无法找到我正在寻找的东西(尽管我可能会搜索错误的单词)。

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

2 个答案:

答案 0 :(得分:1)

第一个问题:ardroid:inputType="numberDecimal"

对于第二个问题:在点视图(文本框或其他任何内容)中添加一个单击侦听器,以便专注于第二个EditText。

编辑:如果用户有非标准键盘,则可能不接受numberDecimal输入类型。设置集android:digits="0,1,2,3,4,5,6,7,8,9"

也可能是个好主意

答案 1 :(得分:1)

步骤:

1)使用android:inputType =“numberDecimal”

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

3)在onCreate()方法中设置监听器

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

4)

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

    }