如何从项目上的活动A传递URL / URI单击活动B从URL加载图像?
活动A
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
HttpGet imageurl = new HttpGet("https://jiresal-test.s3.amazonaws.com/deal3.png");
Intent freebie = new Intent(this,PuzzleActivity.class);
freebie.putExtra("image", imageurl.toString());
startActivity(freebie);
Toast.makeText(this, "Item Clicked: " + position, Toast.LENGTH_SHORT).show();
}
关于活动B
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent)
{
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
switch(requestCode)
{
case RESULT_SELECT_IMAGE:
{
if(resultCode == RESULT_OK)
{
Uri selectedImage = imageReturnedIntent.getData();
loadBitmap(selectedImage);//Where to Load Image
}
break;
}
活动B必须加载图像不显示URL?URI
活动B加载图像表单类 - loadBitmap(selectedImage); //加载图像的位置
答案 0 :(得分:0)
为什么不尝试这样的事情
Bitmap实现Parcelable,因此您可以始终在intent中传递它。尝试以下代码:
第一项活动。
Intent mIntent = new Intent(this, ActivityTwo.class);
mIntent.putExtra("bmp_img", bmp);
要获取目标活动的输出,请尝试:
第二项活动。
Bitmap mBitmap = (Bitmap) intent.getParcelableExtra("bmp_img");
你总是使用getParcelableExtra(&#34; key&#34;)来获取Activity中传递的Bitmap。
或者你可以将图片网址转换为位图像这样的东西
URL url = new URL("http://....");
Bitmap image = BitmapFactory.decodeStream(url.openConnection().getInputStream());
答案 1 :(得分:0)
我认为您误解了有关startActivityForResult()和onActivityResult()的内容。您可以查看android SDK文档以了解它们的工作原理。
在你的情况下,你可以像这样在B的onCreate()中获取网址:
String imageUrl=getIntent.getStringExtra("image");