1

私のアプリには、各アクティビティに4〜5個のEditTextがあり、10個ほどのアクティビティがあります。これらのそれぞれをdoubleに解析する必要があります。そこで、EditText配列を入力して、解析された数値を含むdouble配列を返すメソッドを作成したいと考えました。

EditTextの1つは常に空になるので、0に返されるはずのDoubleの配列内の特定の位置が必要になります。

これは私がいじくり回してきたものです(これまでのところ成功していません)。

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;}
            }

これを設定する必要がありますか?

次に、私のアクティビティの1つで、メソッドを呼び出す場所があります(MiscMethods.javaファイルから)

EditText inputs[] = {i1,i2,i3,i4}
Double parsed[];
for (int i = 0; i < inputs.length; i++) {
                parsed[i] = MiscMethods.parser(inputs);
            }

しかし、タイプの不一致が発生します...なぜですか?このメソッドはdoubleの配列を返し、それらをdoubleparsed[]配列に入れる必要があります。

4

1 に答える 1

1

editArrayの代わりにtoBeParsed配列を使用しているようです

それで

parsed[i] = Double.parseDouble(toBeParsed[i].getText().toString());

する必要があります

parsed[i] = Double.parseDouble(editArray[i].getText().toString());
于 2012-10-15T00:49:20.903 に答える