如何从片段中的片段获取图像?
How to get an image from a fragment inside a fragment?
我有一个组织如下的项目:
AdminAddNewMerchantActivity
->TimeFragment
---->FindFoodAdminFragment
---->MapMerchantFagment
---->价格片段
---->开始片段
---->EndFragment
->OrdersFragment
---->未完成订单
---->完成订单
PickImageActivity
其中:
-> - 一个新的子目录
----> - 子目录
我正在尝试选择图像并分配它。我成功地让它在 PickImageActivity
中运行,但在 FindFoodAdminFragment
中运行相同的代码时遇到问题。我使用的PickImageActivity
代码如下:
public class PickImageActivity extends AppCompatActivity {
ImageView image;
CircleImageView imageBanner;
private Uri imageUri, imageUri2;
private static final int GalleryPick = 1, GalleryPickBanner = 2;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pick_image);
.
.
.
image = findViewById(R.id.pi_input_merchant_image);
imageBanner = findViewById(R.id.pi_input_banner_image);
Intent galleryIntent = new Intent(Intent.ACTION_GET_CONTENT,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(galleryIntent, GalleryPick);
.
.
.
}
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if((requestCode == GalleryPick) && (resultCode == RESULT_OK) && (data!=null))
{
imageUri = data.getData();
image.setImageURI(imageUri);
// Prevalent.currentMerchant.setImage();
}
else if((requestCode == GalleryPickBanner) && (resultCode == RESULT_OK) && (data!=null))
{
imageUri2 = data.getData();
imageBanner.setImageURI(imageUri2);
}
}
}
}
问题出在 startActivityForResult(galleryIntent, GalleryPick);
我试过 super.startActivityForResult(galleryIntent, GalleryPick);
和 getParentFragment().startActivityForResult(galleryIntent, GalleryPick);
但它不起作用。如何让它从 FindFoodAdminFragment
开始工作?
我通过从 FindFoodAdminFragment 开始一个新的 activity 并使用 getIntent().getExtras() 和 intent.putExtra("myKey", myString) 在 activity 和片段。在 activity 中,startActivityForResult 工作正常,所以我在 activity 中使用了它,然后触发了 onActivityResult activity。在 onActivityResult 中,我 putExtra imageUri,然后我启动了另一个 activity,其中包含 FindFoodAminFragment 和 getExtras。感谢大家的帮助。
我有一个组织如下的项目:
AdminAddNewMerchantActivity
->TimeFragment
---->FindFoodAdminFragment
---->MapMerchantFagment
---->价格片段
---->开始片段
---->EndFragment
->OrdersFragment
---->未完成订单
---->完成订单
PickImageActivity
其中:
-> - 一个新的子目录
----> - 子目录
我正在尝试选择图像并分配它。我成功地让它在 PickImageActivity
中运行,但在 FindFoodAdminFragment
中运行相同的代码时遇到问题。我使用的PickImageActivity
代码如下:
public class PickImageActivity extends AppCompatActivity {
ImageView image;
CircleImageView imageBanner;
private Uri imageUri, imageUri2;
private static final int GalleryPick = 1, GalleryPickBanner = 2;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pick_image);
.
.
.
image = findViewById(R.id.pi_input_merchant_image);
imageBanner = findViewById(R.id.pi_input_banner_image);
Intent galleryIntent = new Intent(Intent.ACTION_GET_CONTENT,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(galleryIntent, GalleryPick);
.
.
.
}
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if((requestCode == GalleryPick) && (resultCode == RESULT_OK) && (data!=null))
{
imageUri = data.getData();
image.setImageURI(imageUri);
// Prevalent.currentMerchant.setImage();
}
else if((requestCode == GalleryPickBanner) && (resultCode == RESULT_OK) && (data!=null))
{
imageUri2 = data.getData();
imageBanner.setImageURI(imageUri2);
}
}
}
}
问题出在 startActivityForResult(galleryIntent, GalleryPick);
我试过 super.startActivityForResult(galleryIntent, GalleryPick);
和 getParentFragment().startActivityForResult(galleryIntent, GalleryPick);
但它不起作用。如何让它从 FindFoodAdminFragment
开始工作?
我通过从 FindFoodAdminFragment 开始一个新的 activity 并使用 getIntent().getExtras() 和 intent.putExtra("myKey", myString) 在 activity 和片段。在 activity 中,startActivityForResult 工作正常,所以我在 activity 中使用了它,然后触发了 onActivityResult activity。在 onActivityResult 中,我 putExtra imageUri,然后我启动了另一个 activity,其中包含 FindFoodAminFragment 和 getExtras。感谢大家的帮助。