我要开发一个允许用户浏览图片并写一些信息的应用程序 关于他,所有这些信息都将存储在一个带有人名的类中, 在他按下NextButton后,活动应该将他带到另一个活动中,在第二个活动中输入这些信息,他会输入另一个关于他的信息,
在第3次活动中,我应该收到所有这些信息。从(第一和第二)活动然后,显示在第三个,
我的问题是:
1-如何移动多个信息。我编写了一个移动字符串和其他代码来移动图片的代码,但我无法将它们相互组合!
2-如何将第二个活动中输入的信息插入到Person Class的同一个对象中?
希望我的问题和我的方案很明确!!
非常感谢
Shomokh =)
-----------------------更新----------------------- -----------------
// this is for String info
String FullPersonInfo = person1.toString();
Bundle basket = new Bundle();
basket.putString("key", FullPersonInfo);
Intent intent = new Intent(Form_1.this,Form_2.class);
intent.putExtras(basket);
startActivity(intent);
// I'm confusing how can I add image when i try this code it doesn't work
intent.putExtra("URI", selectedImageUri.toString() );
答案 0 :(得分:0)
您可以在传入下一个活动的意图中传递额外信息,然后在第二个和第三个活动中使用intent.getExtra读取意图。我希望这会给你更好的想法。
答案 1 :(得分:0)
您可以创建类的Parcelable
对象,其中包含您想要从一个活动移动到另一个活动的所有信息。使用Bundle.putParcelable
并提取另一个活动中的所有类对象。
用于在活动之间传递Parcelable自定义或复杂对象,请参阅:
Passing a list of objects between Activities
http://prasanta-paul.blogspot.in/2010/06/android-parcelable-example.html
Android: Passing object from one activity to another
并且作为您的应用程序要求,但不要将整个图像传递到bundle中,只需将引用路径和文本传递给另一个活动并从路径中检索图像
答案 2 :(得分:0)
正如omkar.ghaisas所述,你可以将额外内容传递给Intent。但是,您只能传递基元或任何实现Parcelable
接口的对象。传递字符串很容易,但图像数据比较棘手。
我认为你有几个选择:
将映像路径写入磁盘,然后将文件位置作为a传递 使用Intent中的Extras加上任何其他字符串 需要,例如其他元数据
将图像作为byte[]
数组抓取,创建一个实现的类
Parceleable
并随机播放byte[]
。
我认为#1可能更容易。