从一个活动传递图像另一个活动SO上也有类似的问题,但没有一个对我有用。我想在Activity1中获取单击的图像并在Activity2中显示它。我正在获取点击图像的图像ID,如下所示:((ImageView) v).getId()并通过意图将其传递给另一个活动。在第二个活动中,我使用图像ID如下:imageView.setImageResource(imgId);我在两个活动中记录了值og image id并且它是相同的。但我得到以下异常:android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x12/d=0x0 a=2 r=0x7f050000}我想这里的问题getId()是返回Id ImageView而不是它的源图像。所有这些图像都存在于drawable。任何帮助赞赏。
3 回答

德玛西亚99
TA贡献1770条经验 获得超3个赞
这不行。你必须这样试试。
将ImageView的DrawingCache设置为true,然后将背景保存为Bitmap并通过putExtra传递。
image.setDrawingCacheEnabled(true);Bitmap b=image.getDrawingCache();Intent i = new Intent(this, nextActivity.class);i.putExtra("Bitmap", b);startActivity(i);
在你的下一个活动中,
Bitmap bitmap = (Bitmap) intent.getParcelableExtra("Bitmap");imageView.setImageBitmap(bitmap);

紫衣仙女
TA贡献1839条经验 获得超15个赞
Drawable
在Application
类中定义静态变量,然后在第一个活动中设置图像可绘制数据,然后在下一个活动中从您在Application
类中定义的静态变量中获取数据。
public class G extends Application { public static Drawable imageDrawable; ...}
第一项活动:
G.imageDrawable = imageView.getDrawable();
SecondActivity:
imgCamera.setImageDrawable(G.imageDrawable);
并在onDestroy中:
@Overrideprotected void onDestroy() { G.imageDrawable = null; super.onDestroy();}
注意:您必须Application
在清单中定义您的类:
<application android:name=".G" ...></application>
- 3 回答
- 0 关注
- 486 浏览
添加回答
举报
0/150
提交
取消