Java 从其他活动/布局获取路径时出现问题

Java 从其他活动/布局获取路径时出现问题,java,android,Java,Android,首先。我还是一个机器人新手。。。 我有两个活动/布局 activity_main(Class main.java)为用户提供了从图库中挑选图片的可能性 活动上传(Class upload.java)应显示所选图片。(将来,将上传到服务器) 我的问题是:activity_upload中的视图不显示所选图片的预览。 我有一个变量“picturepath”。我试图通过“bundle…”在activity_upload中使用此变量 有人能帮我吗?多谢各位 我现在已经试过了,但它也不起作用 Main.ja

首先。我还是一个机器人新手。。。 我有两个活动/布局

  • activity_main(Class main.java)为用户提供了从图库中挑选图片的可能性
  • 活动上传(Class upload.java)应显示所选图片。(将来,将上传到服务器)
  • 我的问题是:activity_upload中的视图不显示所选图片的预览。 我有一个变量“picturepath”。我试图通过“bundle…”在activity_upload中使用此变量

    有人能帮我吗?多谢各位

    我现在已经试过了,但它也不起作用

    Main.java

     if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
        Uri selectedImage = data.getData();
        String[] filePathColumn = { MediaStore.Images.Media.DATA };
    
        Cursor cursor = getContentResolver().query(selectedImage,
                filePathColumn, null, null, null);
        cursor.moveToFirst();
    
        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
        String picturePath = cursor.getString(columnIndex);
        cursor.close();
        Intent in = new Intent(Main.this, Upload.class);
        in.putExtra("Path", picturePath);
        startActivity(in);
    }
    
    Upload.java

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
            String picturePath = getIntent().getStringExtra("Path");
            ImageView imageView = (ImageView) findViewById(R.id.imgView);
            imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));        
        }
    }
    

    我看到了几个问题。首先,我不明白你会怎么想

     String picturePath = ptarget.getString("Bilderpfad");
    
    为了实现这一点,你必须做如下的事情

    intent.putExtra("Bilderpfad", value)";
    
    当您将
    意图
    发送到此
    活动
    时。其次,您可以调用activityResult()上的
    onActivityResult()
    ,但只有当您使用
    startActivityForResult()
    从此类启动
    Intent
    时,才会调用此函数,然后从被调用的类调用
    setResult()
    ,我看不到您正在这样做。除非我漏掉了什么,否则你得检查一下


    我认为你们很接近,但我相信你们缺少了一些关于
    活动
    意图
    如何工作的关键基础知识。你们的问题是,你们并没有通过意图调用显式的上传类,所以你们的上传类不知道图片的路径

    您需要创建切换到上传活动的意图,并且需要将一些数据打包。它可以通过
    putExtra()
    方法实现。然后你就可以在课堂上通过

    getIntent().getStringExtra("key");
    
    伪代码:

    Intent i = new Intent(Main.this, Upload.class);
    i.putExtra("picPath", "<someValue>");
    startActivity(i);
    
    Intent i=newintent(Main.this,Upload.class);
    i、 putExtra(“picPath”,“picPath”);
    星触觉(i);
    
    @user2026823您遇到的确切问题是什么?变量为
    null
    onActivityResult
    没有被调用,还有什么?