从编辑文本中获取数字,不会加起来?

时间:2014-07-16 20:38:01

标签: java android

我无法获得在一对EditText字段中输入的两个数字的总和。 EditTexts设置为采用数字输入。

Java:

EditText x1 = (EditText)findViewById(R.id.Tensione);
EditText x2 = (EditText)findViewById(R.id.Potenza);
String x3;
x3 = x1 + x2;

activity.xml:

EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="number"
    android:ems="10"
    android:id="@+id/Tensione"
    android:layout_below="@+id/Testo_Calcolo1"
    android:layout_centerHorizontal="true"
    android:editable="false"
    android:numeric="integer|signed|decimal" /

EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="numberPassword|number|numberDecimal|numberSigned"
    android:ems="10"
    android:id="@+id/Potenza"
    android:layout_below="@+id/textView8Testo_Calcolo"
    android:layout_alignParentStart="false"
    android:layout_centerHorizontal="true"
    android:numeric="integer|signed|decimal" />

错误:

  

错误:(51,21)operator +无法应用于android.widget.EditText,android.widget.EditText

1 个答案:

答案 0 :(得分:4)

您的问题是EditText不是数字甚至是字符串。它是一个包含String的视图。

EditText x1 = (EditText)findViewById(R.id.Tensione);
EditText x2 = (EditText)findViewById(R.id.Potenza);
...

// get the Strings from the EditTexts
String x1Contents = x1.getText().toString();
String x2Contents = x2.getText().toString();

// convert Strings to ints
int x1Number = Integer.parseInt(x1Contents);
int x2Number = Integer.parseInt(x2Contents);

// then add them together
int x3Number = x1Number + x2Number;

这不是一个完整的解决方案。当您知道EditTexts具有值并确保它是数字输入或确保您正确处理非数字输入时,仍需要获取内容。