Android 通过意图调用显示特定片段

Android 通过意图调用显示特定片段,android,android-intent,Android,Android Intent,我知道我们可以通过意向电话在活动之间切换。但是有没有一种方法可以从一个活动转移到一个活动所承载的特定片段呢?例如,如果我有一个活动A,它承载两个片段f1和f2,那么有没有一种方法可以通过意图调用直接从另一个活动(比如B)移动到片段f2? 提前感谢。hmm不可能直接通过意图调用,您必须启动活动A,并通过意图中的额外/bundle指定活动A打开片段f2,这意味着您必须自己编写逻辑。。。不可能直接。。干杯 在活动B中尝试此操作,它将打开活动a并发送一个字符串,您可以在该活动中签入该字符串,根据该字符串

我知道我们可以通过意向电话在活动之间切换。但是有没有一种方法可以从一个活动转移到一个活动所承载的特定片段呢?例如,如果我有一个活动A,它承载两个片段f1和f2,那么有没有一种方法可以通过意图调用直接从另一个活动(比如B)移动到片段f2?
提前感谢。

hmm不可能直接通过意图调用,您必须启动活动A,并通过意图中的额外/bundle指定活动A打开片段f2,这意味着您必须自己编写逻辑。。。不可能直接。。干杯 在活动B中尝试此操作,它将打开活动a并发送一个字符串,您可以在该活动中签入该字符串,根据该字符串您将添加片段:

 Intent i = new Intent(this, ActivityA.class);
 i.putExtra("toOpen", "fragment 1");
 startActivity(i);
在ActivityA oncreate中

 Bundle extras = getIntent().getExtras();
 String toOpen = extras.getString("toOpen");
选中打开字符串并打开相应的片段。。
您是否也在问如何显示/添加片段,因为这是一个全新的游戏:)但这将是管理片段的一个很好的开始,当您在按钮上打开活动的片段时,单击 编写此代码

Fragment myfragment;
myfragment = new Your_Fragment_Name();
FragmentManager fm = getFragmentManager();
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.add(R.id.container, myfragment);
fragmentTransaction.commit();
在我的代码中使用了一个id:
容器
。这是打开片段的布局的id

如果您还将一个值从活动发送到片段,那么

Bundle bundle = new Bundle();
bundle.putInt("value",value );

该行是在创建FragmentManager对象后添加的


此代码非常有用

谢谢您的回复。你知道的任何文档都可以指导我正确的方向吗?我已经有了片段,我只需要一种方法,当我按下活动B中的“后退”按钮时,显示一个特定的片段。我会尝试这个。哦,你需要使用backbutton press来显示,:)这会有很大的变化。。为此,在从活动A打开活动B时,在活动A中使用startactivityforresult。。在活动B的setResult示例中:您让我有点困惑。我是否应该使用startActivityForResult()中的Bundle extras代码?是的,请允许我再次澄清。您有两个片段的activityA,从activityA打开activityB,从activityB返回activityA后,您希望在activityA中打开一个片段。。为此,在activityA和activityB中使用startActivityForResult时,当用户按回btn以进行该使用时,您必须设置结果:()现在在activityA中处理activityA onActivityResult方法中的结果(是bundle extras thing)。在onactivityresult中打开相应的片段
myfragment.setArguments(bundle);