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