我有一项活动,当点击ImageView
时,它会打开第二个活动来选择和裁剪图片。
此过程正常。在第二个活动中,当用户对图片感到满意时,他将点击DONE
按钮并返回上一个活动,裁剪后的图像将在ClickView中显示。
问题:从第二个活动回来后,第一个活动不再显示....在我的真实设备中,它会回到启动Android菜单,如果我尝试检查打开应用程序,我的应用程序在那里,但即使我再次点击它,它不会进入第一个活动...似乎它再次重复该过程选择和裁剪图像.....很奇怪:S
以下是我用来从一项活动转移到另一项活动的相关代码:
关于我的第一项活动:
public void onImageViewClicked(View v){
this.clickedImageView = (ImageView) v;
Intent intent = new Intent(this, CropImages.class);
switch (v.getId()){
case R.id.imgvW_1:
startActivityForResult(intent, 1111);
break;
case R.id.imgvW_2:
startActivityForResult(intent, 2222);
break;
case R.id.imgvW_3:
startActivityForResult(intent, 3333);
break;
}
}
结果应该来到这里:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK){
if (requestCode == 1111){
Bitmap b = (Bitmap) data.getParcelableExtra("Image");
img_encoded_1 = Utilities.encode64Bitmap(b);
clickedImageView.setImageBitmap(b);
}
}
}
第二个活动(CropImages.java)做了很多事......但应该这样结束:
public void onDoneClicked(View v){
// cropped Bitmap stored in cropped
Intent returnIntent = getIntent();
returnIntent.putExtra("Image", cropped);
setResult(RESULT_OK, returnIntent);
finish();
}
任何线索为什么第一个活动消失,真实设备只显示欢迎/主Android屏幕?
如果这有帮助:第二个活动也会启动一个意图,用于从Gallery
或Camera
中选择一个图像....我认为这不重要......
如果这有帮助......似乎永远不会执行第一个活动的onActivityResult
...该方法的TOAST
永远不会显示。
答案 0 :(得分:0)
这可能是问题,请在第一个活动中更改以下内容。
Intent intent = new Intent({First Acticity name here}.this, CropImages.class);
答案 1 :(得分:0)
更改以下代码
public void onDoneClicked(View v){
// cropped Bitmap stored in cropped
Intent returnIntent = getIntent();
returnIntent.putExtra("Image", cropped);
setResult(RESULT_OK, returnIntent);
finish();
}
要
public void onDoneClicked(View v){
// cropped Bitmap stored in cropped
Intent returnIntent = new Intent(); ;
returnIntent.putExtra("Image", cropped);
setResult(RESULT_OK, returnIntent);
finish();
}
供您参考
https://www.javatpoint.com/android-startactivityforresult-example