如何从一个活动跳到另一个活动并设置片段

时间:2019-01-06 09:35:13

标签: java android android-fragments android-intent fragment

我想要的是,当我有意识地从一项活动跳到另一项活动时,它还应该在framelayout内自动设置一个片段,但是我不知道如何做到这一点,将不胜感激。

2 个答案:

答案 0 :(得分:1)

如果我正确地回答了您的问题,那么这段代码将为您提供帮助:

在您的第一次活动中,输入以下代码:

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的第二个活动中,接收意图并根据字符串意图设置一个片段:

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;
}

答案 1 :(得分:0)

在您的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中。

希望这会有所帮助:)