2

首先。我仍然是 android 的菜鸟...我有两个活动/布局

  1. activity_main (Class Main.java) 使用户可以从图库中选择图片
  2. activity_upload (Class Upload.java) 应该显示选中的图片。(以后会有上传到服务器)

我的问题是:activity_upload 中的视图不显示所选图片的预览。我有一个变量“图片路径”。我尝试使用“bundle ...”在activity_upload中提供这个变量

有人可以帮助我吗?谢谢

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

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

上传.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));        
    }
}
4

2 回答 2

2

您的问题是您无法通过 Intent 显式调用 Upload 类,因此您的 Upload 类将不知道图片的路径。

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

getIntent().getStringExtra("key");

伪代码:

Intent i = new Intent(Main.this, Upload.class);
i.putExtra("picPath", "<someValue>");
startActivity(i);
于 2013-03-23T07:45:36.130 回答
0

我看到了几个问题。首先,我不明白你希望得到什么

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

为此,您必须执行类似的操作

intent.putExtra("Bilderpfad", value)";

当你发送Intent到这个Activity。其次,你打电话onActivityResult(),但这只会在你Intent从这个类开始startActivityForResult(),然后setResult()从被调用的类调用时调用,我看不到你这样做。除非我遗漏了什么,否则您需要阅读意图文档

我认为你很接近,但我相信你缺少一些关于如何ActivitiesIntents工作的关键基础知识

于 2013-03-23T07:40:00.373 回答