![](/img/trans.png)
[英]onActivityResult of an Activity not called after startActivityForResult of Fragment
[英]startActivityForResult onActivityResult in a fragment “not called”
我打電話的時候:
private void openGallery() {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
getActivity().startActivityForResult(Intent.createChooser(intent, "Select Picture"),
PICK_IMAGE);
}
永遠不執行這個:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
我也實現了這個:
// @Override
// public void startActivityForResult(Intent intent, int requestCode) {
// // TODO Auto-generated method stub
// super.startActivityForResult(intent, requestCode);
//
// }
但仍然沒有工作。
我有這個結構ActionBarAcitivy - > FragmentPagerAdapter - > Fragment - > Fragment - >這里的startActivityForResult“ Fragment ”
請注意此代碼擴展“Fragment”
這個帖子沒有解決!
經驗后注意:
不存在任何形式,我花了3天這個問題,和-1片段,我把所有的活動(actionbaractivity)
我不打算使用很多片段,程序員不能做的就是浪費時間去發現虛構的代碼。
這一行是問題所在:
getActivity().startActivityForResult(Intent.createChooser(intent, "Select Picture"),
PICK_IMAGE);
相反,您應該在片段上調用此方法,而不是在活動上調用此方法。 這允許系統將響應路由回正確的片段。 所以只需將其替換為:
startActivityForResult(Intent.createChooser(intent, "Select Picture"),
PICK_IMAGE);
鏈接到文檔以供參考: http : //developer.android.com/reference/android/support/v4/app/FragmentActivity.html#startActivityFromFragment
要記住的關鍵概念很少:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.