【问题标题】:Pass image URL/URI from Activity A to open as Image in Activity B Android从 Activity A 传递图像 URL/URI 以在 Activity B Android 中作为图像打开
【发布时间】:2015-06-05 07:56:58
【问题描述】:

如何将 Activity A 上的点击项目的 URL/URI 传递给要从 URL 加载图像的 Activity B?

关于活动 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

Activity B加载图片表单类-loadBitmap(selectedImage);//加载图片的位置

【问题讨论】:

  • 在活动 B 上从意图中获取 url 并编写函数以加载图像 oncreate 本身
  • 检查我的答案....
  • @Djphy...已经检查了链接,但我的活动 B 没有使用 res 布局,而是使用“LoadBitmap”的类,其中“selectedImage”是活动 A 的 URL

标签: android android-layout bitmap


【解决方案1】:

你为什么不尝试这样的事情

Bitmap 实现 Parcelable,因此您始终可以在意图中传递它。试试下面的代码:

第一个活动。

Intent mIntent = new Intent(this, ActivityTwo.class);
mIntent.putExtra("bmp_img", bmp);

要在目标活动中获取输出,请尝试:

第二个活动。

Bitmap mBitmap = (Bitmap) intent.getParcelableExtra("bmp_img");

您总是使用 getParcelableExtra("key") 来获取 Activity 中传递的 Bitmap。

或者您可以将图像 URL 转换为位图 像这样

   URL url = new URL("http://....");
   Bitmap image = BitmapFactory.decodeStream(url.openConnection().getInputStream());

【讨论】:

    【解决方案2】:

    我认为您对 startActivityForResult() 和 onActivityResult() 有误解。您可以查看 android SDK 文档以了解它们的工作原理。

    在您的情况下,您可以像这样在 B 的 onCreate() 中获取 url:

     String imageUrl=getIntent.getStringExtra("image");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-21
      • 1970-01-01
      • 2018-12-03
      • 1970-01-01
      • 2012-12-19
      • 1970-01-01
      相关资源
      最近更新 更多