ArrayList(XmlValueModel)从一个活动移动到另一个活动

时间:2015-06-29 05:59:08

标签: show

我正在向另一个活动发送Arraylist一个Activity,但第二个活动显示空指针和null适配器。怎么解决???感谢。

第一项活动:

        Bundle b = new Bundle();
        b.putSerializable("array_list", listdata);
        Intent movedata = new Intent(getApplicationContext(),Shopping.class);
        movedata.putExtras(movedata);
        startActivity(movedata);

第二项活动:

Intent intent = this.getIntent();
        Bundle bundle = intent.getExtras();

        ArrayList<XmlValueModel> listdata = (ArrayList<XmlValueModel>) bundle.getSerializable("array_list");

  //     ArrayAdapter<XmlValueModel> array = new ArrayAdapter<XmlValueModel>(getApplicationContext(), android.R.layout.simple_list_item_1, list);

       listview = (ListView) findViewById(R.id.ListOne);
       adapter = new CustomListAdapter(this, listdata);
       listview.setAdapter(adapter);
   }catch (Exception e){
        Log.e("Error:", e.getMessage());
   }

2 个答案:

答案 0 :(得分:0)

您的XmlValueModel是否可序列化?您应该使用Serializable!

实现XmlValueModel
public class XmlValueModel implements Serializable {...}

如果XmlValueModel来自库,则从XmlValueModel派生一个新类并实现Serializable。

答案 1 :(得分:0)

尝试这种方式可以帮助您

首先要制作

类XmlValueModel实现Serializable

public class XmlValueModel implements Serializable {
/**
 * 
 */
private static final long serialVersionUID = 1L;

}

在您的FirstActivity中 这样做

ArrayList<XmlValueModel> XmlValueModelArrayList = new ArrayList<XmlValueModel>();

Intent intent = new Intent(this,secondActivity.class);
intent.putExtra("XmlValueModelArrayList", XmlValueModelArrayList);

在您的SecondActivity中 这样做

ArrayList<XmlValueModel> XmlValueModelList;

XmlValueModelList = (ArrayList<XmlValueModel>) getIntent().getSerializableExtra(
            "XmlValueModelArrayList");