【问题标题】:Android: startActivity which goes to another Activity with fragmentsAndroid:startActivity,它转到另一个带有片段的 Activity
【发布时间】:2015-08-15 09:45:17
【问题描述】:

假设我有一个活动 A,它将在单击按钮时启动活动 B:

        public void onClick(View v) {
            Intent intent = new Intent(A.this, B.class);
            startActivity(intent);
            finish();

现在,活动 B 是一个具有选项卡布局的活动,单击选项卡将更改该活动的 viewpager 中的页面。 viewpager 上的每个页面都显示一个片段。

活动 B 中有 3 个选项卡。我通过转到第三个选项卡并单击那里的按钮来启动活动 A。

当我单击活动 A 上的按钮时,它允许我返回活动 B,但它会直接进入第一个选项卡。

当它从 Activity A 返回时,我怎样才能让它进入第三个标签?

【问题讨论】:

  • 您可以使用 intent.putExtras() 将最后一个选项卡的编号传递给意图,然后在活动 B 中使用 viewPager.setCurrentItem(numTab);

标签: android android-fragments android-viewpager android-tablayout


【解决方案1】:

我想通了。

如果我只是在 Activity A 中调用 finish() 而不使用从 A 移动到 B 的意图,我会在同一个选项卡中返回 Activity B。

【讨论】:

    【解决方案2】:

    当您第二次启动ActivityB 时,您想转到第三个选项卡,像这样开始活动

     startActivity(new Intent(context, ActivityB.class).putExtra("go_to", 3));
    

    ActivityB 中的onCreate 方法在初始化ViewPagerFragmentPagerAdapter 后使用这个

    Bundle bundle = getIntent().getExtras();
            if (bundle != null) {
                int position = bundle.getInt("go_to");
                if (position != -1) {
                    viewpager.setCurrentItem(position, false);
                }
            }
    

    这将进入第三个标签

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-30
      • 2021-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-21
      相关资源
      最近更新 更多