首先。我还是Android的新秀...... 我有两个活动/布局
我的问题是: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));
}
}
答案 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
我认为你很接近,但我相信你遗漏了一些关于Activities
和Intents
工作的关键基础知识