【问题标题】:How to jump from one activity to another and set a fragment如何从一个活动跳转到另一个活动并设置片段
【发布时间】:2019-01-06 09:35:13
【问题描述】:

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

【问题讨论】:

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


    【解决方案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的第二个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;
    }
    

    【讨论】:

      【解决方案2】:

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

      希望这会有所帮助:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-18
        • 1970-01-01
        • 2013-05-26
        相关资源
        最近更新 更多