I have two Fragments named HomeworkListFragment and HomeworkFragment.
BOTH INHERIT FROM -> Fragment
Intent i = new Intent(getActivity(),HomeworkPagerActivity.class);
i.putExtra(HomeworkFragment.EXTRA_HOMEWORK_ID, homework.getId());
startActivityForResult(i,REQUEST_DELETE_HOMEWORK_ID);
This is how I start MyFragment from MyListFragment.
After I finish, I want to call this from 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());
Back in MyListFragment I've implemented:
@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();
}
}
However, this method is never called!
I've declared them both in my manifest:
<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>
Is part of the answer with: NavUtils.navigateUpFromSameTask(getActivity());
Is MyListFragment getting recreated?
Strangely enough, I was missing out the line:
super.onActivityResult(requestCode, resultCode, data);
I had referenced the wrong line previously and could not figure out why. Now I have it!
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.