这就是我要传递的内容。pictureFile
是一个File
Intent intent = new Intent (context, ShowPicActivity.class);
intent.putExtra("picture", pictureFile);
在下一个活动中,我使用哪个 getter 来获取它?
Intent intent = getIntent();
……?
这就是我要传递的内容。pictureFile
是一个File
Intent intent = new Intent (context, ShowPicActivity.class);
intent.putExtra("picture", pictureFile);
在下一个活动中,我使用哪个 getter 来获取它?
Intent intent = getIntent();
……?
文件实现可序列化(首先检查是否通过意图发送对象。)(来源)
所以你可以这样做,只需将生成的对象转换为 File ,如下所示:
File pictureFile = (File)getIntent.getExtras().get("picture");
应该没问题。(它使用需要可序列化对象的“对象”的getter并返回它。演员表应该足够了。)
尝试以下操作:
YourPictureClass picture = (YourPictureClass)getIntent().getExtras().get("picture");
通过调用getExtras()
你,Intent
你会得到一个Bundle
. 在课堂
上的正常情况下,您可以阅读您传递给呼叫的所有内容。您唯一需要做的就是将它解析回您的对象是一个实例。
get()
Bundle
Object
Intent
class
你可以这样发送:
intent.putExtra("MY_FILE", myFile);
并像这样检索它:
File myFile = (File)intent.getSerializableExtra("MY_FILE");
但是,将文件作为字符串引用发送可能会更好(任何人?),在这种情况下,您可以发送为:
intent.putExtra("MY_FILE_STRING", myFile.toString());
并像这样检索/重建:
File myFile = new File(intent.getStringExtra("MY_FILE_STRING"));