【问题标题】:Get name of current fragment in activity. Android Studio获取活动中当前片段的名称。安卓工作室
【发布时间】:2018-07-13 05:43:02
【问题描述】:

我有一个框架布局,可以加载 6 个不同的片段。有什么办法可以从activity中找到framelayout中当前fragment的名字。

片段1

getFragmentManager().beginTransaction().replace(
                    R.id.main,Fragment.instantiate(LoadingScreen.this,
                    "com.myapp.fragments.fragment1",bundle)).commit();

片段2

getFragmentManager().beginTransaction().replace(
                    R.id.main,Fragment.instantiate(LoadingScreen.this,
                    "com.myapp.fragments.fragment2",bundle)).commit();

我需要从活动中知道哪个片段存在于框架布局中。由于在同一个布局中加载了两个不同的片段。

【问题讨论】:

  • 也发布您的相关源代码。这些信息还不够

标签: android-studio android-fragments android-activity android-framelayout


【解决方案1】:

如果你想知道布局中加载了哪个片段,你可以这样做:

    Fragment f = getSupportFragmentManager().findFragmentById(R.id.main);
    if(f instanceof Fragment1){
      //do something
    }
    else if(f instanceof Fragment2){
     //do something
    }

如果您想知道类名,请使用:

String name = f.getClass().getCanonicalName()

【讨论】:

    【解决方案2】:

    您可以使用findFragmentById() 它将返回容器中的当前片段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-23
      • 1970-01-01
      • 1970-01-01
      • 2013-07-08
      • 2017-04-17
      • 2014-04-30
      相关资源
      最近更新 更多