无法解析符号REQUEST_CODE

时间:2018-07-12 16:23:16

标签: java android

我正在尝试使用放置在我的UploadActivity类中的代码从图库中选择图片

     @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP_MR1)
private void selectImage(){
    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
        startActivityForResult(Intent.createChooser(intent,"Select Picture"),REQUEST_CODE);
    }
}
public void onActivityResult(int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode,resultCode,data);
    if(requestCode == REQUEST_CODE && resultCode == RESULT_OK && data != null && data.getData() != null ){
        Uri uri = data.getData();
        try {
            Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri);
            ImageHolder.setImageBitmap(bitmap);
        }
        catch (IOException e){
            e.printStackTrace();
        }
    }
}

但是它一直给我上述错误。是否有我需要导入的内容,如果是的话,那是什么,因为单击选项时,IDE-android studio不会显示我。 如果没有要导入的内容,我该如何编辑以解决错误?

感谢您的支持。

2 个答案:

答案 0 :(得分:2)

只需定义一个保存您的请求代码的常量值即可。 像这样private static final Int REQUEST_CODE = 12

REQUEST_CODE的值可以是任何数字,但在某种意义上应该是唯一的,如果您的onActivityResult被不同的来源调用,则每个这些来源必须具有不同的请求代码。否则,您将陷入错误的状况。

答案 1 :(得分:1)

错误已清除。尚未声明变量REQUEST_CODE。 只需将其声明为私有并将其初始化为1即可:

    private int REQUEST_CODE = 1;

我希望能成功