从活动向上导航到片段

时间:2014-05-16 03:14:02

标签: android android-intent android-fragments android-navigation

我们说我有两项名为A_ActivityB_Activity的活动。 A_Activity有3个名为A_FragmentB_FragmentC_Fragment的片段。 A_Activity充当三个片段的基本活动。

B_Fragment,可以导航到B_Activity,然后从B_Activity导航到B_Fragment。来自A_Activity,可以导航到A_FragmentB_FragmentC_Fragment。最后,从A_FragmentB_FragmentC_Fragment,可以导航到任何其他片段。

这里是活动层次结构及其各自片段的任意表示:

A_Activity
    A_Fragment
    B_Fragment
        B_Activity
    C_Fragment

还要认为A_FragmentA_Activity的默认片段。

我目前的解决方案是:在B_Activity的主页图标中选中,我正在创建一个新意图:

Intent intent = new Intent(B_Activity.this, A_Activity.class);
intent.putExtra("data_to_start_B_Fragment", "B"); // instead of starting A Fragment
startActivity(intent);

B_Fragment导航到B_Activity的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

B_Fragment开始,B_Activity使用startActivityForResult(...)而不是getApplicationcontext开始getActivity().getApplicationContext()

Activity B,中,您使用setResult(data here)返回片段并完成ActivityB返回fragment B

答案 1 :(得分:0)

从B_Activity到B_Fragment(如果从B_Fragment启动B_Activity),您只需要从主页按钮或系统后退按钮检测操作,然后通过调用

来终止活动
finish()

e.g。在B_Activity

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    if (id == android.R.id.home) {
        finish();
    }

    return super.onOptionsItemSelected(item);
}