バンドルにgetParcelableArrayList
,getParcelable
メソッドがある理由。しかし、
方法Intent
しかありませputParcelableArrayListExtra
んか?1 つの要素object<T>
ではなく、のみを送信できますか? ArrayList
では、何getParcelable
のため?
質問する
88857 次
5 に答える
168
インテントは、一連のオーバーロードputExtra()メソッドを提供します。
クラス Foo が Parcelable を適切に実装し、それを Activity の Intent に入れるとします。
Intent intent = new Intent(getBaseContext(), NextActivity.class);
Foo foo = new Foo();
intent.putExtra("foo ", foo);
startActivity(intent);
別のアクティビティのインテントから取得するには:
Foo foo = getIntent().getExtras().getParcelable("foo");
お役に立てれば。
于 2012-04-11T22:33:37.167 に答える
1
Parcelable p[] =getIntent().getParcelableArrayExtra("parcel");
于 2012-04-11T14:03:15.870 に答える
-1
モデルはParcelableインターフェイスと静的CREATORメソッドを実装する必要があることを覚えておくことが重要です。このケースはリスト用です
private static final String MODEL_LIST = "MODEL_LIST";
public MainFragment() {}
public static MainFragment newInstance(ArrayList<YourModel>
models) {
MainFragment fragment = new MainFragment();
Bundle args = new Bundle();
args.putParcelableArrayList(MODEL_LIST,models);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
ArrayList<YourModel> models = getArguments().getParcelableArrayList(MODEL_LIST);
}
}
于 2017-08-21T19:35:20.923 に答える