我有一个片段,有4个按钮可以调用相机。我需要知道我点击的按钮将图像放入该按钮...
有人可以帮助我吗?
在这里我调用图像按钮单击,检查权限,如果一切正常,请打开设备摄像头......
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;
}
}
}
答案 0 :(得分:1)
由于jeffery建议您需要在活动类中维护一个成员varable mButtonclicked,在onclick中记住它是否可以设置它的1,2,3或4和onacitivy结果。 对于一个初学者来说这应该没问题,但你的行为可能会被破坏,所以请阅读关于onSavedinstance和onRestoreinstance
答案 1 :(得分:0)
没有魔力。您知道在收到“on click”事件方法调用时按下了什么按钮。您需要自己跟踪,例如在Activity
子类的实例字段中。
不要忘记保存在实例状态下按下的按钮,这样如果您的活动在相机打开时被破坏,您将不会丢失数据。
答案 2 :(得分:0)
尝试将数据保存在onActivityResult中,并从onResume方法更新Ui。
或
$.get("example.php?id=" + this.id);
答案 3 :(得分:0)
我认为您首先需要在java类中定义按钮,用更简单的名称命名按钮会更容易