创建应用程序时会调用多个片段

Patr3xion

我正在使用带选项卡的actionBar创建一个应用程序。我希望这样,以便在选择选项卡时调用特定的片段。我有一个问题,当创建应用程序时,只有一个应该被调用时立即调用两个片段。我的相关代码如下:

@Override
public Fragment getItem(int index)
{
    switch (index)
    {
        final String TAG0 = "MainActivity";
        Log.wtf(TAG0, "fragA active");
        case 0:
        return new FragA();

        final String TAG1 = "MainActivity";
        Log.wtf(TAG1, "fragB active");            
        case 1:
        return new fragB();

        final String TAG2 = "MainActivity";
        Log.wtf(TAG2, "fragC active");            
        case 2:
        return new fragC();
    }
    return null;
}

设置actionBar的选项卡,以便tabA打开fragA,tabB打开fragB,等等。现在,在创建应用程序时,尽管仅选择了tabA,但我正在获取的日志消息却显示为fragA active和fragB active。选择tabB后,fragC变为活动状态。选择TABC时,没有任何反应。此后,当您选择任何其他选项卡时,没有任何其他日志消息。

第二种情况是应用程序启动时,尽管仅选择了tabA,但fragA和fragB处于活动状态。当您单击tabC时,fragC现在变为活动状态。在此之后单击任何其他选项卡时,什么也没有发生,并且我也没有收到其他日志消息。

另外,我认为值得一提的是,我尝试在每种情况下在switch语句中添加break语句。当我有一个针对案例0、1和2的break语句时,针对案例1和2的break语句很好,但是针对case 0的break语句表明这是一个不可达的语句。

如果您需要我提供任何其他代码,请告诉我。谢谢您的帮助。

海蒂

出于性能方面的考虑,Android ViewPager(我假设您正在使用)始终会预加载下一个标签页。因此,您位于选项卡1上,它知道您可能会很快切换到选项卡2,因此它将选项卡2预加载到内存中,以便您在滑动时便已准备好在屏幕上显示该选项卡。否则,在您开始拖动与准备在屏幕上显示片段之间会有一个微小的停顿。这是预期的行为,您不能将其关闭。您可以增加它将预加载的选项卡的数量,但最小为每侧1个。

查看完选项卡后,它们将保留在内存中,除非内存用完。再次这样做是为了使系统不必重新创建它们。这就是为什么您看不到第二次创建的片段的原因。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

启动应用程序时会调用哪个活动?

来自分类Dev

主页按钮和ApplicationState。重新启动应用程序时会调用哪种委托方法?

来自分类Dev

每次打开应用程序时如何调用片段?

来自分类Dev

使用片段和Microsoft API创建翻译器应用程序时的异步问题

来自分类Dev

打开应用程序时的调用方法

来自分类Dev

当android优化应用程序时会发生什么?

来自分类Dev

强制关闭应用程序时会触发Android AlarmManager

来自分类Dev

在Spring应用程序中不会调用Hibernate Interceptor

来自分类Dev

Android Auto应用程序永远不会调用onGetRoot

来自分类Dev

从后台还原应用程序时显示相同的片段

来自分类Dev

在关闭应用程序时保留片段状态

来自分类Dev

从后台还原应用程序时显示相同的片段

来自分类Dev

当/如果从多个应用程序调用onReceive覆盖时会发生什么?

来自分类Dev

创建时会调用ListView的RefreshCommand吗?

来自分类Dev

用户每次打开应用程序时如何调用函数

来自分类Dev

在Swift中终止应用程序时调用函数

来自分类Dev

暂停应用程序时不调用OnNavigatedFrom

来自分类Dev

加载应用程序时调用函数

来自分类Dev

在启动应用程序时调用api?

来自分类Dev

暂停应用程序时不调用OnNavigatedFrom

来自分类Dev

用户每次打开应用程序时如何调用函数

来自分类Dev

在tomcat运行多个应用程序时进行测试

来自分类Dev

当打开多个应用程序时,ALSA不起作用

来自分类Dev

如何使用多个 HTTP 请求调用程序创建单个逻辑应用程序

来自分类Dev

创建MVVM WPF应用程序时的正确方法

来自分类Dev

尝试创建Shiny应用程序时出现错误

来自分类Dev

启动应用程序时如何禁止Javers创建表

来自分类Dev

在构建“标签”应用程序时创建或注入ViewModel

来自分类Dev

创建Kivy应用程序时总是出现此错误

Related 相关文章

  1. 1

    启动应用程序时会调用哪个活动?

  2. 2

    主页按钮和ApplicationState。重新启动应用程序时会调用哪种委托方法?

  3. 3

    每次打开应用程序时如何调用片段?

  4. 4

    使用片段和Microsoft API创建翻译器应用程序时的异步问题

  5. 5

    打开应用程序时的调用方法

  6. 6

    当android优化应用程序时会发生什么?

  7. 7

    强制关闭应用程序时会触发Android AlarmManager

  8. 8

    在Spring应用程序中不会调用Hibernate Interceptor

  9. 9

    Android Auto应用程序永远不会调用onGetRoot

  10. 10

    从后台还原应用程序时显示相同的片段

  11. 11

    在关闭应用程序时保留片段状态

  12. 12

    从后台还原应用程序时显示相同的片段

  13. 13

    当/如果从多个应用程序调用onReceive覆盖时会发生什么?

  14. 14

    创建时会调用ListView的RefreshCommand吗?

  15. 15

    用户每次打开应用程序时如何调用函数

  16. 16

    在Swift中终止应用程序时调用函数

  17. 17

    暂停应用程序时不调用OnNavigatedFrom

  18. 18

    加载应用程序时调用函数

  19. 19

    在启动应用程序时调用api?

  20. 20

    暂停应用程序时不调用OnNavigatedFrom

  21. 21

    用户每次打开应用程序时如何调用函数

  22. 22

    在tomcat运行多个应用程序时进行测试

  23. 23

    当打开多个应用程序时,ALSA不起作用

  24. 24

    如何使用多个 HTTP 请求调用程序创建单个逻辑应用程序

  25. 25

    创建MVVM WPF应用程序时的正确方法

  26. 26

    尝试创建Shiny应用程序时出现错误

  27. 27

    启动应用程序时如何禁止Javers创建表

  28. 28

    在构建“标签”应用程序时创建或注入ViewModel

  29. 29

    创建Kivy应用程序时总是出现此错误

热门标签

归档