当前位置: 首页 > 知识库问答 >
问题:

Android-无法解决方法'onActivityResult(int,int,android.content.意图)

平嘉熙
2023-03-14

我需要设置/添加照片/电影作为ToDo应用程序的附件。不幸的是:onActivityResult in line super。onActivityResult(请求代码、结果代码、数据);以红色突出显示,我得到一个错误:

无法解析方法“onActivityResult(int,int,android.content.Intent)”

ctivity.java

    Button button_z = (Button) findViewById(R.id.button_z);
        button_z.setonclickListener(new View.onclickListener() {
                @Override
                public void onclick(View view2) {

                    selectImage();
 }
           @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent  data) {
                    super.onActivityResult(requestCode, resultCode, data);
                    if (resultCode == RESULT_OK) {
                        if (requestCode == REQUEST_CAMERA) {

                  Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
                           90, bytes);
                            ByteArrayOutputStream bytes = new ByteArrayOutputStream();
                            thumbnail.compress(Bitmap.CompressFormat.JPEG, 90, bytes);
                            File destination = new File(Environment.getExternalStorageDirectory(),
                                    System.currentTimeMillis() + ".jpg");
                            FileOutputStream fo;
                            try {
                                destination.createNewFile();
                                fo = new FileOutputStream(destination);
                                fo.write(bytes.toByteArray());
                                fo.close();
                            } catch (FileNotFoundException e) {
                                e.printStackTrace();
                            } catch (IOException e) {
                                e.printStackTrace();
                            }
                            imageView.setImageBitmap(thumbnail);
                        } else if (requestCode == SELECT_FILE) {

                            Uri selectedImageUri = data.getData();
                            String[] projection = {MediaStore.MediaColumns.DATA};
                            CursorLoader cursorLoader = new CursorLoader(AddActivity.this, selectedImageUri, projection, null, null, null);
                            Cursor cursor = cursorLoader.loadInBackground();
                            int column_index = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA);
                            cursor.moveToFirst();
                            String selectedImagePath = cursor.getString(column_index);
                            Bitmap bm;
                            BitmapFactory.Options options = new BitmapFactory.Options();
                            options.inJustDecodeBounds = true;
                            BitmapFactory.decodeFile(selectedImagePath, options);
                            final int REQUIRED_SIZE = 200;
                            int scale = 1;

                            while (options.outWidth / scale / 2 >= REQUIRED_SIZE
                                    && options.outHeight / scale / 2 >= REQUIRED_SIZE)
                                scale *= 2;
                            options.inSampleSize = scale;
                            options.inJustDecodeBounds = false;
                            bm = BitmapFactory.decodeFile(selectedImagePath, options);
                            imageView.setImageBitmap(bm);
                        }
                    }

        private void selectImage() {
            final CharSequence[] items = { "Zrób zdjęcie lub nagranie", "Wybierz istniejące", "Anuluj" };

            AlertDialog.Builder builder = new AlertDialog.Builder(AddActivity.this);
            builder.setTitle("Dodaj załącznik");
            builder.setItems(items, new DialogInterface.onclickListener() {
                @Override
                public void onclick(DialogInterface dialog, int item) {
                    if (items[item].equals("Zrób zdjęcie lub nagranie")) {
                        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                        startActivityForResult(intent, REQUEST_CAMERA);
                    } else if (items[item].equals("Wybierz istniejące")) {
                        Intent intent = new Intent(
                                Intent.ACTION_PICK,
                                android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                        intent.setType("image/*");
                        startActivityForResult(
                                Intent.createChooser(intent, "Wybierz plik"),
                                SELECT_FILE);
                    } else if (items[item].equals("Anuluj")) {
                        dialog.dismiss();
                    }
                }
            });
            builder.show();
        }
                }

共有1个答案

呼延鹏云
2023-03-14

您丢失了在你的代码中。

Button button_z = (Button) findViewById(R.id.button_z);
button_z.setonclickListener(new View.onclickListener() {
    @Override
    public void onclick(View view2) {

        selectImage();
    }
});  //here

 类似资料:
  • 几天后,我无法解决此错误。 在扫描ctivity.java 代码如下: 从这里获取错误 导入此: 每当我使用“Migrate to AppCompat”时,错误就会出现,但随后在其他文件ResultFragment中同时出现两个错误。java和ScanFragment。JAVA 我该怎么办? 说明:从Githubhttps://github.com/clean-apps/CleanSCAN获得的源

  • 问题内容: 我想对成绩簿方法使用2D数组,其中包含学生姓名,然后是考试成绩。在课堂上,我有以下内容。 但是我得到一个错误int []无法转换为int。 问题答案: 你有: 但是是一个。数组维数必须为,因此不能用作数组维数(鉴于字面量是多少,我可以理解您对错误的困惑:它想要一个,但您给了它一个)。 从您的描述来看,我猜您的意思是: 哪里是你需要的,包含考试的次数。不过,只是一个猜测。

  • 问题内容: 这里是编程的新手,并且我一直收到错误消息,“不兼容的类型,不能将int转换为int []”,问题是如果R1和R2的长度相等,则将它们加在一起,如果没有打印出一条信息,说明“数组的长度必须相同”,如果这很重要,则不知道我在哪里出错,将不胜感激任何帮助 问题答案: 您需要分配给数组元素,但是这样做做错了。

  • 创建一个名为平均值的方法,用于计算作为参数传递的数字的平均值。之前创建的方法和必须在此方法中使用! 在以下模板中定义方法: 我正在努力将sum()方法放在average()方法中。我不知道如何让它工作,因为我在eclipse中不断遇到这样的错误: 这是我的代码: 我知道这与我将average方法定义为double类型有关,但我尝试将它们改为double,并调用我的变量“int avg=…”作为“双

  • 我有一个创建片段的主要活动。我的片段为结果发起了各种活动。主活动和片段都具有onActivityResult(...)方法。 主活动接收所有的结果,甚至是从片段开始的活动的结果。在主onActivityResult(...int resultCode...)中接收的(int resultCode)不知何故被破坏了。所以resultCode不是我设置的100,而是64978。 因此,即使我将resu