Hy我正在開發一個Android應用程序,其中包含一個主機活動與多個片段。我在我的宿主Activity以及我的碎片中使用了onActivityResult()方法。super.onActivityResult(requestCode,resultCode,data);
在主機活動
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode)
{
}
}
在片段
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode)
{
}
}
當我從片段開始activityForResult然後片段的onActivityResult沒有得到調用。 我是做像這樣
startActivityForResult(Intent.createChooser(intent, "Select File"),REQUEST_CODE);
我解決我的問題,當我加入這行到我的主機活動的結果的方法, super.onActivityResult(requestCode,resultCode爲,數據);
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode)
{
}
}
現在我的片段onActivityResult()正在調用。 我想知道當我在Activity onResult方法中添加它時,這行super.onActivityResult()實際上做了什麼?當activity有多個片段時,onActivityResult()獲取調用順序。
參考http://stackoverflow.com/questions/6147884/onactivityresult-is-not-being-called-in-fragment – sasikumar
如果你想到用戶主機活動的onActivityResult,那麼你必須像這樣 - > getActivity()。startActivityForResult(....) – Shane
不需要啓動startActivityForResult()我不想使用主機活動的結果方法。我在沒有獲得調用的片段中有獨立的結果方法,並且當我在主機活動的結果方法中添加了super.onActivityResult(),然後結果方法開始工作。我想知道爲什麼會發生這種情況。 –