要在Activity中向Fragment发送数据并在Fragment中访问ArrayList,可以使用Bundle和setArguments方法来传递数据,然后在Fragment中使用getArguments方法获取数据。
以下是一个示例代码:
在Activity中发送数据到Fragment:
ArrayList dataList = new ArrayList<>();
dataList.add("Item 1");
dataList.add("Item 2");
Bundle bundle = new Bundle();
bundle.putStringArrayList("dataList", dataList);
YourFragment fragment = new YourFragment();
fragment.setArguments(bundle);
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
在Fragment中访问ArrayList:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// 获取传递过来的数据
Bundle bundle = getArguments();
ArrayList dataList = bundle.getStringArrayList("dataList");
// 在Fragment中访问ArrayList
for (String item : dataList) {
Log.d("Fragment", "Item: " + item);
}
// ...
}
这样就可以在Activity和Fragment之间传递数据并在Fragment中访问ArrayList了。