我的应用程序每个活动有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);
}
但得到类型不匹配......为什么?该方法返回一个双精度数组,并将它们放入双解析[]数组。?
答案 0 :(得分:1)
您似乎使用toBeParsed数组而不是editArray
所以
parsed[i] = Double.parseDouble(toBeParsed[i].getText().toString());
应该是
parsed[i] = Double.parseDouble(editArray[i].getText().toString());