如何将UI中输入的值调用到java类中?

时间:2010-01-23 22:53:38

标签: java android math

为我的机器人制作一个简单的应用程序。

在我的xml界面中有一个文本框,用户将在其中输入一个数字(例如:10)。此文本框的ID为“input1”

如何在java中调用input1的值然后对其进行计算?

例如......

假设input1 = x

x + 5或x * 2

就此而言,如何将结果值显示为UI上指定位置的不断更新的文本输出?

2 个答案:

答案 0 :(得分:4)

在使用此布局XML的Activity中,您可以这样做:

private EditText input;
private EditText result;

public void onCreate(Bundle b) {
    setContentView(R.layout.my_activity);

    // Extract the text fields from the XML layout
    input = (EditText) findById(R.id.input1);
    result = (EditText) findById(R.id.result);

    // Perform calculation when input text changes
    input.addKeyListener(new View.OnKeyListener() {
        public boolean onKey(View v, int keycode, KeyEvent keyevent) {
            if (keyevent.getAction() == KeyEvent.ACTION_UP) {
                doCalculation();
            }
            return false;
        }
    });
}

private void doCalculation() {
    // Get entered input value
    String strValue = input.getText().toString;

    // Perform a hard-coded calculation
    int result = Integer.parseInt(strValue) * 2;

    // Update the UI with the result
    result.setText("Result: "+ result);
}

请注意,上述内容不包含错误处理:它假定您已限制input1文本字段以仅允许输入整数。

答案 1 :(得分:3)

在XML中,您还可以将android:inputType="number"设置为仅允许数字作为条目。