【发布时间】:2015-11-04 16:42:14
【问题描述】:
这是我第一次使用图像。
我创建了一个活动,我将从图库中挑选一张图片,并且我希望在单击按钮时将该图片传递给下一个活动。
【问题讨论】:
-
只需要通过 Intent extras 将文件 url 传递给下一个活动,但请尝试并在之前发布您的代码。
标签: android android-activity android-gallery
这是我第一次使用图像。
我创建了一个活动,我将从图库中挑选一张图片,并且我希望在单击按钮时将该图片传递给下一个活动。
【问题讨论】:
标签: android android-activity android-gallery
一个简单的解决方案是通过 Intent 传递它的 Uri。
第一个活动:
Uri imageUri = /* This is the Uri you got from the gallery */
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("image-uri", imageUri.toString());
startActivity(intent);
第二个活动:
Intent intent = getIntent();
Uri imageUri = Uri.parse(intent.getStringExtra("image-uri"));
/* Do something with imageUri */
【讨论】:
可能的方法是:
1 - 在onActivityResult()上获取图片或图片网址后存储它
2 - 在您的按钮的 OnClickListener() 中,在您的意图中添加一个额外的(如果您已经拥有位图)。
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(CurrentActivity.this, NewActivity.class);
i.putExtra("image", yourImage);
CurrentActivity.this.startActivity(i);
}
});
3 - 获取新 Activity 的额外内容(在 onCreate() 中)。
Intent intent = getIntent();
if (intent.getExtras() != null){
loadedImage = intent.getParcelableExtra("image");
}
【讨论】:
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { super.onActivityResult(requestCode, resultCode, imageReturnedIntent);} 中处理结果数据。我假设您已经完成了这项工作。每当您到达此位置时,您都会收集结果 url(选定的图像 url),然后您可以获得图像。在此之后,您按照我在答案中所说的操作,它将起作用
首先从您的 imageview 图像创建位图
BitmapDrawable drawable = (BitmapDrawable) imageView.getDrawable();
Bitmap bitmap = drawable.getBitmap();
其次,通过intent将位图传递给另一个activity
Intent intent = new Intent(this, NewActivity.class);
intent.putExtra("BitmapImage", bitmap);
最后,在您的新活动中,从意图中获取位图并将其设置到图像视图中
Intent intent = getIntent();
Bitmap bitmap = (Bitmap) intent.getParcelableExtra("BitmapImage");
imageView.setBitmap(bitmap);
【讨论】: