我需要在intent中传递我的数据对象,以便被调用的活动可以使用它。 但没有找到方法将这些添加到意图中。
任何人都可以点亮这个
由于
答案 0 :(得分:4)
只需设置自定义对象Serializable
即可。然后你可以使用intent.putExtra("package.name.Name", <your-serializable-object>)
。在第二个活动中,您使用getIntent().getSerializableExtra("package.name.Name")
答案 1 :(得分:3)
您需要将数据对象设为parcelable并在意图内发送。
检查以下链接。希望它能帮助你:))
http://prasanta-paul.blogspot.com/2010/06/android-parcelable-example.html
答案 2 :(得分:3)
您可以使用putExtras
将数据附加到intentString dataToPass = "The next activity needs this sentence.";
...
Intent intent = new Intent(this, NextActivity.class);
intent.putExtras("KeyToAccessData", dataToPass);
startActivity(intent);
并从意图中撤回
String dataToCollect;
...
Intent intent = getIntent();
dataToCollect = intent.getStringExtra("KeyToAccessData");
答案 3 :(得分:2)
您可以尝试在自定义对象类中创建一个方法,以便从json字符串创建对象,还可以创建一个将对象转换为json字符串的方法。这样,您可以将对象作为字符串传递,并在从另一个意图获得字符串时重建它。
String objectJsonString = '["name":"objName", "value":"somevalue"]';
...
Intent intent = new Intent(this.getApplicationContext(), OtherActivity.class);
intent.putExtras("KeyToAccessData", objectJsonString);
sartActivity(intent);
然后在新活动
中重新创建它Intent i = getIntent();
CustomObj obj = CustomObj.makeFromJsonString(i.getStringExtra("KeyToAccessData"));