我在數組列表中存儲了一些值,現在我想將相同的數組列表對象傳遞給活動的片段。那麼我怎麼能從一個活動發送數組列表對象並接收片段中的同一個對象。如何將數組列表對象從android活動傳遞給fragment
-1
A
回答
0
在您的活動中試用此代碼,它是來自我的工作應用程序的代碼片段。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
yourArrayList.add("test");
yourArrayList.add("test2")
Bundle bundle = new Bundle();
bundle.putStringArrayList("arrayList", yourArrayList);
yourFragment yourFragment = new yourFragment();
yourFragment.setArguments(bundle);
fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.main_container, yourFragment);
fragmentTransaction.commit();
}
在你的片段,你可以這樣
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
ArrayList<String> values = getArguments().getStringArrayList("arrayList");
}
0
您可以通過下面的片段,活動的通信通常的方式做到這一點訪問值。那就是:
1)在你的Fragment類中聲明一個公共接口。
2)在這個接口裏面爲你的列表聲明一個getter方法。
3)讓你的各個Activity實現這個接口。
4)內,您的片段,這樣做:
@Override
public void onAttach(Context context) {
super.onAttach(context);
YourInterfaceType activity = (YourInterfaceType) context;
List<> yourList = activity.getMyList();
}
爲了更清楚:
您的活動將是如下:
public class MyActivity extends Activity implements YourInterfaceType{
@Override
public void getMyList(){
return yourList;
}
}
0
通活動應遵循此行
Bundle bundle = new Bundle();
bundle.putStringArrayList("valuesArray", namesArray);
namesFragment myFragment = new namesFragment();
myFragment.setArguments(bundle);
fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.main_container, myFragment);
fragmentTransaction.commit();
中獲取片段內遵循這一行
ArrayList<ObjectName> arraylist = extras.getParcelableArrayList("valuesArray");
0
只要把你的陣列setargument在Actiivty和片段得到陣列 getArgument。
活動
Bundle bundle = new Bundle();
bundle.putStringArrayList("valuesArray", namesArray);
namesFragment myFragment = new namesFragment();
myFragment.setArguments(bundle);
fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.main_container, myFragment);
fragmentTransaction.commit();
片段
ArrayList<Model> values = getArguments().getStringArrayList("valuesArray");
相關問題
- 1. 將數組列表傳遞給fragment?
- 2. 如何將對象傳遞給活動?
- 3. 如何將對象從子活動傳遞給主活動?
- 4. 將GraphUser對象從Fragment傳遞到另一個活動
- 5. Android:如何將對象從非活動(視圖)類傳遞給活動?
- 6. 如何將LinkedHashMap從FragmentPagerAdapter傳遞給Fragment?
- 7. 如何將路徑對象傳遞給新的活動(Android)
- 8. 如何將對象數組傳遞給webAPI列表
- 9. 如何將數組從一個活動傳遞給另一個活動android
- 10. 如何在Android中使用intent將活動之間的數據傳遞給fragment
- 11. 如何在android中將對象列表從一個活動傳遞給另一個活動?
- 12. 將公鑰對象從服務傳遞給Android中的活動?
- 13. 將自定義對象的數組列表傳遞給另一個活動
- 14. 將對象傳遞給活動
- 15. 將對象傳遞給新活動
- 16. 將對象傳遞給其他活動
- 17. 將複雜對象傳遞給活動
- 18. 如何將LocationRequest對象從活動傳遞給服務?
- 19. 如何將字符串列表傳遞給活動? (Android Studio)
- 20. 如何將數組傳遞給子活動(android)?
- 21. Android:如何將對象從簡單的類傳遞到活動
- 22. 如何將變量從活動傳遞到Android中的對象
- 23. 將一個活動傳遞給另一個活動的對象(其中包含數組列表表達式)
- 24. 如何將Android的對象數組傳遞給React Native?
- 25. 將對象數組傳遞給函數
- 26. 如何將活動中的任何對象傳遞給服務?
- 27. 如何在Android中將Fragment中的整數值傳遞給FragmentActivity?
- 28. 如何將Parcelable數組傳遞給fragment和Activity
- 29. 如何將數據從非活動類傳遞給android中的活動?
- 30. 將套接字對象傳遞給Android的另一個活動
你有沒有試過這一點,併成功了嗎? – Sanoop
是的,我獲得成功 –
嗯ArrayList arraylist'肯定這條線。它會用於'T'對象嗎? –
Sanoop