Android - OnActivityResult按钮点击
问题描述:
我有一个片段有4个按钮可以调用摄像头。我需要知道那个按钮,我已经点击将图像放入那个按钮...Android - OnActivityResult按钮点击
有人能帮助我吗?
这里我所说的图像按一下按钮,检查权限,如果一切OK,打开设备的相机......
img_first_veiculo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (permissionVerification.checkPermissionForCamera()) {
if (permissionVerification.checkPermissionForExternalStorage()) {
openDeviceCamera();
} else {
permissionVerification.requestPermissionForExternalStorage();
}
} else {
permissionVerification.requestPermissionForCamera();
}
}
});
OnActivityResult
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != Activity.RESULT_OK) {
return;
}
switch (requestCode) {
case CROP_FROM_CAMERA: {
//TODO Set image here
Bitmap photo = (Bitmap) data.getExtras().get("data");
img_first_veiculo.setImageBitmap(photo);
break;
}
case PermissionVerification.CAMERA_PERMISSION_REQUEST_CODE: {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(mImageCaptureUri, "image/*");
intent.putExtra("crop", "true");
intent.putExtra("outputX", 640);
intent.putExtra("outputY", 360);
intent.putExtra("aspectX", 16);
intent.putExtra("aspectY", 9);
intent.putExtra("scale", true);
intent.putExtra("return-data", true);
startActivityForResult(intent, CROP_FROM_CAMERA);
break;
}
}
}
答
正如杰弗里建议你需要保持一个成员varable在活动课mButtonclicked中的onclick记住其是否1,2,3或4 onacitivy导致你可以设置它。 对于初学者来说,这应该没问题,但有可能你的活性可能会被破坏,所以请阅读关于onSavedinstance和onRestoreinstance
答
没有什么神奇。当您收到“点击”事件方法调用时,您知道按下了哪个按钮。您需要自己跟踪,例如您的Activity
子类中的实例字段。
不要忘记保存在实例状态下按下的按钮,以便在相机打开时您的活动被破坏,您不会丢失数据。
答
尝试将您的数据保存在onActivityResult中,并从onResume方法更新Ui。
或
activity.runOnUiThread(new Runnable() {
public void run() {
Bitmap photo = (Bitmap) data.getExtras().get("data");
img_first_veiculo.setImageBitmap(photo);
}
});
我做了实现并像魅力一样工作......我做了一个变量,并将其放在开关盒上... 谢谢 –