爲什麼捆綁有getParcelableArrayList
,getParcelable
方法;但 Intent
只有putParcelableArrayListExtra
方法? 我可以只傳輸一個元素的object<T>
,而不是ArrayList
? 那麼,什麼是getParcelable
?Android:如何將Parcelable對象傳遞給intent並使用getParcelable方法捆綁?
36
A
回答
108
意圖提供一堆超載putExtra()方法。
假設你有一個類Foo正確實現Parcelable,把它變成意圖在一個活動:
Intent intent = new Intent(getBaseContext(), NextActivity.class);
Foo foo = new Foo();
intent.putExtra("foo ", foo);
startActivity(intent);
要意圖得到它的另一項活動:
Foo foo = getIntent().getExtras().getParcelable("foo");
希望這有助於。
2
Parcelable p[] =getIntent().getParcelableArrayExtra("parcel");
1
首先創建Parcelable使用Given Technique然後
public static CreditCardDetail newInstance(CreditCardItemBO creditCardItem) {
CreditCardDetail fragment = new CreditCardDetail();
Bundle args = new Bundle();
args.putParcelable(CREDIT_KEY,creditCardItem);
fragment.setArguments(args);
return fragment;
}
而且越來越像
if(getArguments() != null)
{
creditCardItem = getArguments().getParcelable(CREDIT_KEY);
}
其中
public static final String CREDIT_KEY = "creditKey";
0
重要的是要記住,你的米odels必須實現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);
}
}
相關問題
- 1. 如何使用parcelable將CountDownTimer的對象傳遞給intent?
- 2. 將對象方法傳遞給變量
- 3. ASP.NET C#將對象傳遞給方法
- 4. 將JSON對象傳遞給Web方法
- 5. 將對象傳遞給方法
- 6. 將對象傳遞給DistributedCache set方法?
- 7. 將控制對象傳遞給方法
- 8. 將類對象傳遞給方法
- 9. javascript將對象方法傳遞給不同的對象方法
- 10. 如何將URI傳遞給intent?
- 11. Android:如何將類引用傳遞給intent
- 12. 如何通過另一種方法傳遞方法而不調用它,並將變量對象傳遞給它?
- 13. Android意圖傳遞可parcelable對象vs傳遞Json字符串
- 14. 將對象傳遞給jrxml,並將對象傳遞給其子報表
- 15. 將兩個對象傳遞給對方?
- 16. 如何將C#對象傳遞給Xamarin中的JNI方法?
- 17. 如何將對象數組的值傳遞給方法
- 18. 如何將數據框傳遞給對象的方法?
- 19. 如何將當前的SurfaceView傳遞給其他對象方法?
- 20. 如何將json對象傳遞給asp.net mvc 4中的方法?
- 21. 如何將jQuery數組對象傳遞給控制器方法
- 22. 將對象傳遞給方法,然後調用該對象的擴展方法
- 23. Android捆綁傳遞指針或對象副本
- 24. 如何將LoginResult從Facebook登錄傳遞給Android中的Intent
- 25. 數組中的對象,將對象傳遞給PHP方法
- 26. Android:將對象傳遞給CustomDialog?
- 27. 如何將數據傳遞給使用工廠方法創建的對象
- 28. 如何將對象傳遞給活動?
- 29. 如何將NSString對象傳遞給stringByAppendingFormat:
- 30. 如何將對象傳遞給TemplateView?
我問關於getParcelable,爲什麼呢? – yital9 2012-04-11 14:08:03
它會返回你傳過的對象數組 – MAC 2012-04-11 14:09:39
對不起,你覺得getParcelableArrayExtra和getParcelable有什麼區別嗎? – yital9 2012-04-11 14:11:28