[英]How to get an image from a fragment inside a fragment?
我有一個項目組織如下:
AdminAddNewMerchantActivity
->時間片段
---->查找FoodAdminFragment
---->MapMerchantFagment
---->價格片段
---->開始片段
---->結束片段
->訂單片段
---->訂單不完整
---->完成訂單
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 啟動一個新活動並使用 getIntent().getExtras() 和 intent.putExtra("myKey", myString) 在活動和片段之間傳輸數據來解決它。 在活動中 startActivityForResult 工作正常,所以我在活動中使用它然后觸發 onActivityResult 活動。 在 onActivityResult 我 putExtra imageUri,然后我開始了另一個包含 FindFoodAminFragment 和 getExtras 的活動。 感謝大家的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.