配列内の名前のリストがあり、これらをクリックすると、名前とその名前のコードを表示するレコード画面が表示されます。情報は、一致する長さの配列で提供されます。録音画面のボタンをクリックすると、次の名前の対応する画面に移動できるようにしたいと思います。
インテントからlistViewアイテムのインデックスiを取得し、それを使用して配列からその名前の適切なデータを取得しました。
以下は、記録画面の私のコードです。
public class RecordActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_record);
Intent intent = getIntent();
final int i = intent.getIntExtra(MainActivity.EXTRA_INDEX, 0);
final String[]names = getResources().getStringArray(R.array.names);
final String[]codes = getResources().getStringArray(R.array.codes);
final TextView nameView = new TextView(this);
nameView = (TextView) findViewById(R.id.vNames);
String vName = names[i];
nameView.setText(vName);
TextView codeView = new TextView(this);
codeView = (TextView) findViewById(R.id.vCodes);
String vCode = codes[i];
codeView.setText(vCode);
nextButton = (Button) findViewById(R.id.nextButton);
nextButton.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
}
}});
}
ボタンのonClickメソッドで、「i = i + 1を設定してから、データを更新する」などの操作を実行したいのですが、プログラミングに慣れていないため、これを「書き込む」方法が完全にはわかりません。
私はもう試した
if (i<names.length) {
nameView.setText(names[i]);
i++;}
しかし、「最後のローカル変数iは、囲んでいる型で定義されているため、割り当てることができません」というエラーが発生しました。
情報を表示するためにインデックスを呼び出す配列を12個も持つようにしたいので、これをできるだけ一般的にしたいと思います。
どんなアイデアでも大歓迎です!