我想从一个应用程序通过intent创建一个对象列表,并将该列表放在另一个应用程序中。
我试过了:
Intent i = new Intent();
i=getActivity().getPackageManager().getLaunchIntentForPackage(getString(R.string.package_app));
ArrayList<MyClass> list = new ArrayList<MyClass>();
i.setAction(Intent.ACTION_SEND);
i.putExtra(Intent.EXTRA_TEXT, list);
i.setType("text/plain");
为了得到它,我已经做到了:
Intent receivedIntent = getIntent();
ArrayList<MyClass> getList = new ArrayList<MyClass>();
getList=(ArrayList<MyClass>)receivedIntent.getSerializableExtra(Intent.EXTRA_TEXT);
startActivity(i);
但是当我想要获得列表时我有一个例外
答案 0 :(得分:1)
根据您的堆栈跟踪,您需要将 MyClass 序列化。
然后,您可以将 MyClass 列表传递给第二个活动。
这可以如下所示:
class MyClass implements Serializable
{
//your implementation
}
在您的第一项活动中,您需要执行以下操作:
Intent i = new Intent(context,secondactivity.class);
ArrayList<MyClass> list = new ArrayList<MyClass>();
i.putExtra("listdata",list);
在你的第二项活动中你需要做这样的事情:
Intent receivedIntent = getIntent();
getList=receivedIntent.getSerializableExtra("listdata",null);
希望这会有所帮助......