1
我有兩個名爲HomeworkListFragment和HomeworkFragment的片段。onActivityResult()沒有調用兩個片段
BOTH繼承 - >片段
Intent i = new Intent(getActivity(),HomeworkPagerActivity.class);
i.putExtra(HomeworkFragment.EXTRA_HOMEWORK_ID, homework.getId());
startActivityForResult(i,REQUEST_DELETE_HOMEWORK_ID);
這是我從MyListFragment開始MyFragment。
我完成後,我想從MyFragment稱之爲:
Intent i = new Intent();
i.putExtra(EXTRA_DELETE_HOMEWORK_ID, mHomework.getId());
getActivity().setResult(Activity.RESULT_OK, i);
//Toast.makeText(getActivity(), "deleting?", Toast.LENGTH_SHORT).show();
//getActivity().finish();
NavUtils.navigateUpFromSameTask(getActivity());
早在MyListFragment我實現:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Toast.makeText(getActivity(), "HERE", Toast.LENGTH_SHORT).show();
if (requestCode == REQUEST_DELETE_HOMEWORK_ID){
String filename = data.getStringExtra(HomeworkFragment.EXTRA_DELETE_HOMEWORK_ID);
Toast.makeText(getActivity(), "ID: "+filename, Toast.LENGTH_SHORT).show();
}
}
然而,這種方法不會被調用!
我已經聲明他們都在我的清單:
<activity
android:name=".HomeworkListFragment"
android:label="@string/app_name"
android:launchMode="singleTop" >
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:value=".HomeworkTabFragment"/>
</activity>
<activity
android:name=".HomeworkFragment"
android:label="@string/app_name" >
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:value=".HomeworkListFragment"/>
</activity>
與部分答案:NavUtils.navigateUpFromSameTask(getActivity());
MyListFragment被重新創建嗎?
你必須調用getActivity()。finish();在子活動 – pskink 2014-08-31 16:00:41
所以我也調用NavUtils.navigateUpFromSameTask(getActivity());在此之上? – wayway 2014-08-31 17:22:57
編輯完成後,它仍然不會調用onActivityResult()。不管我嘗試什麼樣的組合。使用navigateupfromsametask和get activity()。finish();它也不是。 MyListFragment是否被重新創建? – wayway 2014-08-31 17:25:29