0

XMLParser が取り込まれた ListView を作成しました。ユーザーはチェックボックスを使用してリストから複数の値を選択でき、ボタンを押すことで次のアクティビティに進むことができます。アクティビティ 2 では、選択された値をすべて取得したいと考えています。

私が使用する選択した値をすべて取得するには: String selected += "\n- " +c.getName(); c はどこにありますか?final ConfigOptions c = options.get(position);

また、このように onCreate メソッドの外で宣言しました

public static String selected = null;

しかし、私は同じ問題を抱えています

問題は、アクティビティ 2 で選択したすべての値を取得するが、値の 1 つが null であることです。

例: null \n -サーボトロニック \n -駐車距離制御 \n - 制限速度情報

また、アクティビティ 1 を再度開いて新しい項目を選択しようとすると、2 番目のアクティビティには以前に選択された古いアクティビティも表示されます。文字列の値を null に設定しても、すべての文字列が取得されます。

では、この文字列の値を連結して、次のアクティビティで null 値を取得しないようにし、値をリセットして再度選択できるようにするにはどうすればよいでしょうか?

4

2 に答える 2

1

ユーザーがアクティビティ 2 に移動したい場合は、選択したアイテムの数を保持する文字列配列を作成します。アクティビティ 2 を開始するインテントにエクストラとして追加します。

int count = // get number of selections
String[] options = new String[count];
for (int i = 0; i < count; i++) {
    options[i] = // ith selection
}
Intent intent = new Intent(this, Activity2.class);
intent.putExtra("options", options);
startActivity(intent);

アクティビティ 2 の onCreate では:

String[] options = getIntent.getStringArrayExtra("options");
if (options != null) {
    // process the strings here.
}
于 2013-04-23T16:19:32.557 に答える