繁体   English   中英

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

[英]How to jump from one activity to another and set a fragment

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

如果我正确回答了您的问题,那么这段代码应该可以帮助您:

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

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

从您的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

希望这可以帮助 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM