我希望用户从图库中选择一张图片,然后该应用将进入另一个活动并将图片加载到该位置。 这是用来打开文件选择器的。
private void openFileChooser() {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
getActivity().startActivityForResult(intent, PICK_IMAGE_REQUEST);
}
这就是我的onActivityResult中的内容
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK
&& data != null && data.getData() != null) {
mImageUri = data.getData();
Intent intent = new Intent(getActivity(),AddActivity.class);
intent.putExtra("imagePath",mImageUri.toString());
intent.putExtra("requestCode",PICK_IMAGE_REQUEST);
startActivity(intent);
}
这是我第二个活动的代码,基本上,用户可以打开相机并拍照,也可以从图片库中选择。从相机拍摄照片有效,但是选择图像并不代表为什么我有两个请求代码。
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_additem);
Log.i(TAG, "onCreate: started");
setupBottomNavigationView();
imageView = findViewById(R.id.addPic);
Bundle extras = getIntent().getExtras();
int requestCode = extras.getInt("requestCode");
if (requestCode == 0) {
if (extras != null) {
Bitmap image = (Bitmap) extras.get("image");
if (image != null) {
imageView.setImageBitmap(image);
}
}
if (requestCode == 1) {
Intent intent = getIntent();
String image_path = intent.getStringExtra("imagePath");
Uri fileUri = Uri.parse(image_path);
imageView.setImageURI(fileUri);
}
}
}
由于无法理解为什么它不起作用,所以我的Android应用程序在选择图片后甚至都没有进入第二个活动。它只是返回到家庭活动。
答案 0 :(得分:0)
更改
library(tidyverse)
mx <- max(str_count(tex$text, "\\w+"))
tex %>%
separate(text, into = paste0("dat_", seq_len(mx))) %>%
expand(!!! rlang::syms(names(.)))
到
if (requestCode == 0) {
答案 1 :(得分:0)
我不确定这是否是您提到的所有问题的原因,但是您的if语句在可能不应该嵌套的情况下被嵌套
<style>
.pimg{
background-image: url("paper.gif");
}
</style>
<div class="pimg"></div>
我想你想要更多类似的东西
if(requestCode == 0 ) {
// only gets here if requestCode == 0
if(requestCode == 1) {
//this will never be executed, requestCode == 0
}
}
我假设switch(requestCode) {
case 0:
// do stuff
break;
case 1:
// do stuff
break;
}
设置为PICK_IMAGE_REQUEST
,这是行不通的吗?
答案 2 :(得分:0)
好的,我解决了。我在文件Chooser()中调用活动的结果活动。我将其修改为startActivityFor(...)而不是getActivity()。startActivityFor(...)