![](/img/trans.png)
[英]How can I send an image from an ImageView in one activity to an ImageButton in another activity. Android Studio
[英]Set ImageView to another activity in Android Studio
我知道这很常见,但我很困惑如何将数据 bitmap 图像传递回第一个活动,当我从第一个活动中单击按钮时,它将转到第二个活动,当用户完成填充签名者它将具有bitmap
的格式,然后按保存将显示图像 bitmap 回到第一个活动,我该如何实现?,我尝试了下面的代码,但它不显示图像,需要帮助
目前我正在尝试下面的代码从second activity to first activity
,但它不起作用
Bitmap bitmap = signaturePad.getSignatureBitmap();
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
intent.putExtra("imageExample", bitmap.toString());
startActivity(intent);
第一个活动
ImageView image;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnNext = (Button) findViewById(R.id.btnNext);
image = findViewById(R.id.imgUri);
//get image from second activity
getImage();
btnNext.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
}
});
}
public void getImage(){
Bundle extras = getIntent().getExtras();
if (extras != null) {
String resultUri = extras.getString("imageExample");
Uri myUri = Uri.parse(resultUri);
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(),myUri);
image.setImageBitmap(Bitmap.createScaledBitmap(bitmap, 374, 500, false));
} catch (IOException e) {
e.printStackTrace();
}
}
}
第二活动
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.accomplished_signature);
SignaturePad signaturePad = findViewById(R.id.signature_pad);
Button buttonSignature = findViewById(R.id.btnSubmit);
Button buttonClear = findViewById(R.id.btnClear);
buttonClear.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
signaturePad.clear();
}
});
buttonSignature.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
Bitmap bitmap = signaturePad.getSignatureBitmap();
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
intent.putExtra("imageExample", bitmap.toString());
startActivity(intent);
signaturePad.clear();
}
});
}
您正在尝试将 bitmap 转换为不可能的字符串,而是这样做:
Intent intent = new Intent(this, ActivityTwo.class); intent.putExtra("bitmap", bitmap);
为了从您的 sencod 活动中检索它:
Intent intent = getIntent(); Bitmap bitmap = (Bitmap) intent.getParcelableExtra("bitmap");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.