ArrayList <ArrayList<Integer>> floors
Bundle を介して別のアクティビティに渡す方法はありますか?
ありがとう
Bundle を介して ArrayList > floor を別のアクティビティに渡す方法はありますか?
残念ながらそうではありません。
ArrayList
ネストされていない場合は、 putIntegerArrayList(key, value)
and で機能しgetIntegerArrayList(key)
ます。
しかし、確かに別のアプローチがあります.1つの可能な方法を説明します.
Serializable インターフェイスを実装するクラスを作成し、このクラスでフィールドと適切なゲッターを作成するだけです。基本的な例を挙げます。次に、Activity を介して Serializable を渡します。
public class DataHelper implements Serializable {
private ArrayList<ArrayList<Integer>> floors;
public DataHelper(ArrayList<ArrayList<Integer>> floors) {
this.floors = floors;
}
public ArrayList<ArrayList<Integer>> getList() {
return this.floors;
}
}
バンドルに保存:
Bundle b = new Bundle();
b.putSerializable("floors", new DataHelper(floors));
ターゲット アクティビティで取得します。
getIntent().getExtras().getSerializable("floors");
最初のアクティビティから 2 番目のアクティビティに arraylist を渡します。
Intent intent = new Intent(context, SecondActity.class);
intent.putIntegerArrayListExtra("arraylist",integerList); //integerList is ArrayList<Integer>
startActivity(intent);
2 番目のアクティビティで arrayList を取得します。
ArrayList arrayList<Integer> = getIntent().getIntegerArrayListExtra("arraylist")
ここを読んでください。
アクティビティ間でカスタム オブジェクトを渡したい場合は、このスレッドをお読みください。