Android - OnActivityResult按钮单击

时间:2016-09-19 22:47:32

标签: android onactivityresult

我有一个片段,有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;

        }
    }
}

4 个答案:

答案 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类中定义按钮,用更简单的名称命名按钮会更容易