私は配列を含む Android プロジェクトに取り組んでいます.Java は passByValue のような言語であることは知っていますが、オブジェクトにはいくつかの例外があり、配列はオブジェクトです.これが私がやりたいことです: まず、EditText かどうかを確認しますが null であるかどうか。もし null の場合は、EditText から値を入れたい場合は、float 配列にも null を入れます。
EditText acDifSp;
EditText deScMoSp;
EditText toReStVa;
EditText fePuStToVa;
EditText deShDoToVa;
EditText deBoSeSp;
EditText beTem1;
EditText beTem2;
EditText vibVale;
EditText poPuPa;
EditText SlWeinSlPu;
Float acDifSpFl;
Float deScMoSpFl;
Float toReStVaFl;
Float fePuStToVaFl;
Float deShDoToVaFl;
Float deBoSeSpFl;
Float beTem1Fl;
Float beTem2Fl;
Float vibValeFl;
Float poPuPaFl;
Float SlWeinSlPuFl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.setting_page);
acDifSp=(EditText)findViewById(R.id.editText1);
deScMoSp=(EditText)findViewById(R.id.editText2);
toReStVa=(EditText)findViewById(R.id.editText3);
fePuStToVa=(EditText)findViewById(R.id.editText4);
deShDoToVa=(EditText)findViewById(R.id.editText5);
deBoSeSp=(EditText)findViewById(R.id.editText6);
beTem1=(EditText)findViewById(R.id.editText7);
beTem2=(EditText)findViewById(R.id.editText8);
vibVale=(EditText)findViewById(R.id.editText9);
poPuPa=(EditText)findViewById(R.id.editText10);
SlWeinSlPu=(EditText)findViewById(R.id.editText11);
EditText[] fields={acDifSp,deScMoSp,toReStVa,fePuStToVa,deShDoToVa,deBoSeSp,beTem1,beTem2,vibVale,poPuPa,SlWeinSlPu};
Float[] values={acDifSpFl,deScMoSpFl,toReStVaFl,fePuStToVaFl,deShDoToVaFl,deBoSeSpFl,beTem1Fl,beTem2Fl,vibValeFl,poPuPaFl,SlWeinSlPuFl};
for (int i = 0; i < fields.length; i++) {
EditText currentField=fields[i];
if(currentField.getText().toString().length()>0){
values[i]=Float.parseFloat(currentField.getText().toString());
}
}
}
すべての EditText を if でチェックしたくないので、これを試しました。この方法は正しいですか?または誰かが別の方法を提案できますか?