爲什麼捆綁有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. 如何在Android中將gson序列化對象傳遞給Intent?
- 3. 如何將Parcelable對象從子項傳遞給父項目?
- 4. Android:捆綁傳遞
- 5. 如何使用$ .ajax將對象傳遞給MVC Contoller方法?
- 6. 如何對象傳遞給類方法
- 7. 如何將對象傳遞給本地對象方法?
- 8. 將包含對象的對象傳遞給活動通過Intent
- 9. 將對象傳遞給COM方法
- 10. 將對象傳遞給方法
- 11. 將JSON對象傳遞給Web方法
- 12. 將控制對象傳遞給方法
- 13. 將對象方法傳遞給變量
- 14. 將對象傳遞給方法java
- 15. 將對象傳遞給DistributedCache set方法?
- 16. ASP.NET C#將對象傳遞給方法
- 17. 將對象傳遞給方法?
- 18. 將類對象傳遞給方法
- 19. 如何實例化對象並將其傳遞給使用testng的方法
- 20. javascript將對象方法傳遞給不同的對象方法
- 21. Android將變量傳遞給intent
- 22. 如何將onClick函數傳遞給Intent
- 23. 如何將URI傳遞給intent?
- 24. 如何將通用對象列表傳遞給方法?
- 25. 如何通過另一種方法傳遞方法而不調用它,並將變量對象傳遞給它?
- 26. Android:如何將類引用傳遞給intent
- 27. 將對象傳遞給另一個活動(無Parcelable?)
- 28. 將對象傳遞給方法並返回對象列表任何示例
- 29. 有沒有什麼辦法通過Intent和Parcelable傳遞DOM對象?
- 30. 將C#對象傳遞給C++並調用該對象的方法
我問關於getParcelable,爲什麼呢? – yital9 2012-04-11 14:08:03
它會返回你傳過的對象數組 – MAC 2012-04-11 14:09:39
對不起,你覺得getParcelableArrayExtra和getParcelable有什麼區別嗎? – yital9 2012-04-11 14:11:28