【发布时间】:2019-01-06 09:35:13
【问题描述】:
我想要的是,当我有意地从一个活动跳转到另一个活动时,它还应该在 framelayout 内自动设置一个片段,但我不知道如何做到这一点,任何帮助都将不胜感激。
【问题讨论】:
标签: java android android-fragments android-intent fragment
我想要的是,当我有意地从一个活动跳转到另一个活动时,它还应该在 framelayout 内自动设置一个片段,但我不知道如何做到这一点,任何帮助都将不胜感激。
【问题讨论】:
标签: java android android-fragments android-intent fragment
如果我没有正确回答您的问题,这段代码应该可以帮助您:
在您的第一个活动中输入以下代码:
public static final String FRAGMENTA = "FragmentA";
public static final String FRAGMENTB = "FragmentB";
public static final String FRAGMENTC = "FragmentB";
String fragmentToDisplay = FRAGMENTA;
Intent intent = new Intent(getApplicationContext(), SecondActivity.class);
intent.putExtra("fragmentToDisplay", fragmentToDisplay);
startActivity(intent);
然后在onCreate的第二个activity中,接收intent并根据字符串intent设置一个fragment:
String fragmentToDisplay = getIntent.getStringExtra("fragmentToDisplay");
switch (fragmentToDisplay) {
case FirstActivity.FRAGMENTA:
//FragmentTransaction to show Fragment A
break;
case FirstActivity.FRAGMENTB:
//FragmentTransaction to show Fragment B
break;
case FirstActivity.FRAGMENTC:
//FragmentTransaction to show Fragment C
break;
}
【讨论】:
从您的firstActivity 调用第二个意图以移动到下一个活动,如下所示:
Intent intent= new Intent(firstActivity.this, secondActivity.class);
startActivity(intent);
在你的 secondActivity 中,你可以默认放置一个片段,如下所示:
// Put this code in your onCreate() method of secondActivity.
if(savedInstanceState == null) {
Fragment fragment = new Fragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(R.id.frame, fragment);
transaction.commit();
}
上述代码在secondActivity 启动时自动执行,将fragment 放在frame 中。
希望这会有所帮助:)
【讨论】: