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