从其他活动/布局获取路径的问题

时间:2013-03-23 07:29:18

标签: java android

首先。我还是Android的新秀...... 我有两个活动/布局

  1. activity_main(Class Main.java)使用户可以从图库中选择图片
  2. activity_upload(类Upload.java)应显示所选图片。 (将来会有上传到服务器)
  3. 我的问题是:activity_upload中的视图不显示所选图片的预览。 我有一个变量“picturepath”。这个变量我尝试在activity_upload中使用“bundle ...”

    有人能帮帮我吗?谢谢

    我现在尝试过这个,但它也行不通。

    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));        
        }
    }
    

2 个答案:

答案 0 :(得分:2)

您的问题是,您无法通过Intent明确调用您的上传课程,因此您的上传课程将无法了解图片的路径。

您需要创建Intent以切换到Upload Activity,并且需要使用它打包一些数据。它可以用putExtra()方法实现。然后你可以通过

在课堂上获取数据
getIntent().getStringExtra("key");

<强>伪代码:

Intent i = new Intent(Main.this, Upload.class);
i.putExtra("picPath", "<someValue>");
startActivity(i);

答案 1 :(得分:0)

我看到有几个问题。首先,我看不出你期望得到什么

 String picturePath = ptarget.getString("Bilderpfad");

要发生这种情况,您必须执行类似

的操作
intent.putExtra("Bilderpfad", value)";

Intent发送给此Activity时。其次,您拨打onActivityResult()但这只会在您使用Intent从此课程开始startActivityForResult()时调用,然后从被叫课程中调用setResult(),我不会看你做的。除非我错过了什么,否则你需要通过INtent Docs

我认为你很接近,但我相信你遗漏了一些关于ActivitiesIntents工作的关键基础知识