如何使“计算”按钮变为冗余?

时间:2010-11-13 22:00:14

标签: android math input automation

我有一个简单的Android应用程序,可以对用户输入的2个数字进行一些数学运算并返回结果。 目前我有一个'计算'按钮,需要按下来进行数学运算并返回值。

我怎样才能摆脱这个按钮,让用户在使用改变了2个数字中的任何一个后运行数学?

非常感谢。

4 个答案:

答案 0 :(得分:2)

假设你正在使用EditText-s作为输入(因为它们可能是SeekBar-s,谁知道),在每一个上添加一个TextWatcher with this并在每次更改其中一个之后刷新结果

答案 1 :(得分:0)

详细信息取决于您使用的语言,但基本上只要更改其中一个数字,您就可以运行计算功能。应该有一种方法来覆盖当任一文本框中的数据发生变化时调用的函数。

答案 2 :(得分:0)

好吧,如果两个数字都以0开头,你可以检查以确定两者都没有,或者当两个文本字段都收到文本更改事件时触发数学运算。我不确定你使用什么平台,所以我不能给你更多的信息。

答案 3 :(得分:0)

我在EditText字段中使用了类似的东西,我想在更改其他一些EditText字段后自动更新:

    myEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if (actionId == EditorInfo.IME_ACTION_DONE)
            {
                calculateNewValue();   // Updates internal variables

                // This part will hide the keyboard after input
                InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
                return true;
            }
            return false;
        }
    });

完成后,这也会隐藏键盘(thanks to a bit of help)。

calculateNewValue()更新了这样的字段:

private void calculateNewValue()
{
    val = YourFormula()

    myEditText.setText(String.format(yourFormat, val))
}