我的应用程序在每个活动上有4-5个EditTexts,我有10个左右的活动。我需要将它们中的每一个都解析为一个双精度值。所以我想我想要创建一个方法,在这个方法中我输入一个EditText数组,它返回一个双精度数组,其中包含解析后的数字。
其中一个EditTexts将始终为空,因此我需要在双精度数组中返回0的特定位置。
这就是我一直在摆弄的东西(到目前为止还没有成功)。
public double[] parser(EditText[] editArray) {
EditText toBeParsed[] = null;
double parsed[] = null;
for (int i = 0; i < editArray.length; i++) {
try {
parsed[i] = Double.parseDouble(toBeParsed[i].getText().toString());
} catch (Exception e) {
parsed[i] = 0;}
}我需要如何设置它?
接下来,在我的一个活动中,我调用了方法(从MiscMethods.java文件)
EditText inputs[] = {i1,i2,i3,i4}
Double parsed[];
for (int i = 0; i < inputs.length; i++) {
parsed[i] = MiscMethods.parser(inputs);
}但是得到一个类型不匹配...为什么?该方法返回一个double数组,并应将它们放入double parsed[]数组中。
发布于 2012-10-15 08:49:21
看起来您使用的是toBeParsed数组而不是editArray
所以
parsed[i] = Double.parseDouble(toBeParsed[i].getText().toString());应该是
parsed[i] = Double.parseDouble(editArray[i].getText().toString());https://stackoverflow.com/questions/12887829
复制相似问题