Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Arraylist中的bundle通过putserializable传递值<;Hashmap<;字符串,字符串>&燃气轮机;_Java_Android_Arraylist_Hashmap_Serializable - Fatal编程技术网

Java 如何使用Arraylist中的bundle通过putserializable传递值<;Hashmap<;字符串,字符串>&燃气轮机;

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);

我使用以下命令创建了一个列表,它从具有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);
        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解决了这个问题,它可以正常工作