我正在制作聊天应用程序我已经提供了将文件上传到服务器的选项,问题是我想将数据发送到上一页。这就是我想要的内容。
当我点击上传新活动开始时,上面是我的第一个活动
现在当我点击"点击上传"按钮图像上传,我的第二个活动关闭。我想将上传的图像路径和图像名称一起发送到发送按钮旁边的上一个活动文本框,这样我该怎么办呢。 我无法再次呼叫该活动,因为它是聊天成员列表中的选择性聊天屏幕,所以我只是完成了我之前的活动被带到前面的第二个活动
请帮帮我
答案 0 :(得分:4)
在这种情况下,您应该使用startActivityForResult()
启动您的孩子(第一个)Activity
。
这提供了一个管道,用于使用setResult()
将数据发送回主Activity。 setResult()
方法采用int结果值和传递回调用Intent
的{{1}}。
Activity
要在调用Activity覆盖Intent resultIntent = new Intent();
resultIntent.putExtra("IMAGE_PATH",path);
setResult(Activity.RESULT_OK, resultIntent);
finish();
中访问返回的数据。 onActivityResult()
对应于requestCode
调用中传入的整数,而startActivityForResult()
和数据Intent则从子(第一)Activity返回。
resultCode
答案 1 :(得分:1)
您可以通过startActivityForResult()
而不是startActivity()
开始第二项活动来实现这一目标,然后当您要完成第二项活动时,在意图中添加您想要的任何数据然后您会找到调用的方法onActivityResult
。有关详细信息,请查看此示例http://www.vogella.com/tutorials/AndroidIntent/article.html
答案 2 :(得分:1)
实现这一目标的方法不止一种。
第一个和方便的方法是在第一个活动中使用startActivityForResult()
方法。当您完成secondActivity
时,将intent
中的uri路径作为键值对。在第一个活动覆盖protected void onActivityResult()
方法中。并获取您在意图中输入的数据。
第二种方式是开始你的活动,就像你通常开始一样使用startActivity(your second activity)
并覆盖secondActivity
的结束方法,将uri路径作为额外的意图,当你完成此活动时获取通过覆盖onResume()
方法,您的firstActivity中的数据。
有关详情,您可以看到此链接Android Intents - Tutorial
和这一个How to pass a value from one Activity to another in Android?。
希望有所帮助。