Java 如何使用Arraylist中的bundle通过putserializable传递值<;Hashmap<;字符串,字符串>&燃气轮机;
我使用以下命令创建了一个列表,它从具有getter和setter的模型类中获取值Java 如何使用Arraylist中的bundle通过putserializable传递值<;Hashmap<;字符串,字符串>&燃气轮机;,java,android,arraylist,hashmap,serializable,Java,Android,Arraylist,Hashmap,Serializable,我使用以下命令创建了一个列表,它从具有getter和setter的模型类中获取值 int k = model.getChildren().size(); for(int i=0;i < k;i++) { HashMap<String, String> map = new HashMap<String, String>(); galleryChildModel = model.getChildren().get(i);
int k = model.getChildren().size();
for(int i=0;i < k;i++) {
HashMap<String, String> map = new HashMap<String, String>();
galleryChildModel = model.getChildren().get(i);
map.put("caption", galleryChildModel.getImagecaption());
map.put("imageurl", galleryChildModel.getImageurl());
list.add(map);
}
int k=model.getChildren().size();
for(int i=0;i
然后我使用这个setOnItemClickListener将这个值传递给下一个片段
gridchild.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Fragment fragment = new GalleryDetailFragment();
Bundle bundle = new Bundle();
bundle.putSerializable("object", list.get(position));
fragment.setArguments(bundle);
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.container_body, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
});
gridchild.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Fragment Fragment=新的GalleryDetailFragment();
Bundle=新Bundle();
bundle.putSerializable(“object”,list.get(position));
fragment.setArguments(bundle);
FragmentManager FragmentManager=getActivity().getSupportFragmentManager();
FragmentTransaction FragmentTransaction=fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.container\u body,fragment);
fragmentTransaction.addToBackStack(空);
fragmentTransaction.commit();
}
});
我使用
Bundle bundle = this.getArguments();
if (bundle != null) {
ArrayList<HashMap<String, String>> maps = (ArrayList<HashMap<String, String>>) bundle.get("object"); // here i cannot cast the value to hashmap or any list. im really stuck here can anyone help me out with this
}
Bundle=this.getArguments();
if(bundle!=null){
ArrayList maps=(ArrayList)bundle.get(“object”);//这里我无法将值转换为hashmap或任何列表。我真的被困在这里了,有人能帮我解决这个问题吗
}
我得到的价值是这样的
束[{对象=[{
imageurl=。}]}]
如何从中获取数据并设置为textview和imageview
bundle.putSerializable("object", list.get(position));
存储在“object”下的Serializable是HashMap not列表,因此应强制转换为HashMap:
HashMap<String,String> map = (HashMap<String, String>) bundle.getSerializable("object");
HashMap=(HashMap)bundle.getSerializable(“对象”);
什么类型是列表
?数组列表//我无法强制转换该值,它显示未选中的强制转换并给出错误,然后您必须将其强制转换为ArrayList而不是HashMap@Blackbelt我试过了,但是我显示了unchecked cast:java.lang.Object到java.util.ArrayList这还有一个问题。。。。当我转到下一个活动时,这个列表一直在重复,而复出是阻止它的唯一方法。你说的重复是什么意思。您需要澄清这一点。谢谢,但我通过在执行list之前添加adapter==null解决了这个问题,它可以正常工作