私は約50のEditTextフィールドを持っており、ループを使ってその値を取得したいと思います。個別に以下のような値を取得すると、正常に動作します:Android - すべてのeditText値を収集するループ
SharedPreferences settings = getSharedPreferences(filename, 0);
SharedPreferences.Editor editor = settings.edit();
editor.clear(); //not sure if this is required
final EditText t1 = (EditText) findViewById(R.id.text1Value);
String T1 = t1.getText().toString();
editor.putstring("text1",T1);
final EditText t2 = (EditText) findViewById(R.id.text2Value);
String T2 = t2.getText().toString();
editor.putstring("text2", T2);
................................ and so on till EditText t50.
は、私は以下のループを介してこれを実現しようとしたが、それは仕事を得ることができませんでした。
for(int x=1; x<50; x++)
{
EditText et[x] = (EditText) findViewById(R.id.text[x]Value);
String t[x] = et[x].getText().toString();
String Ref = "text" + x;
editor.putString(Ref, t[x]);
}
うん感謝メイト。しかし、まだ正確には動作状態ではありません。 – Whiss
変更をコミットまたは適用するのを忘れないでください – user8