在我的main.xml我
<FrameLayout
android:id="@+id/frameTitle"
android:padding="5dp"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:background="@drawable/title_bg">
<fragment
android:name="com.fragment.TitleFragment"
android:id="@+id/fragmentTag"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
我正在设置像这样的片段对象
FragmentManager fragmentManager = activity.getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Fragment newFragment = new FragmentType1();
fragmentTransaction.replace(R.id.frameTitle, casinodetailFragment, "fragmentTag");
// fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
Run Code Online (Sandbox Code Playgroud)
它FragmentType2,FragmentType3,...在不同的时间设置不同类型的Fragment对象().现在在某个时间点我需要确定当前存在哪个对象.
在短,我需要做这样的事情:
Fragment currentFragment = //what is the way to get current fragment object in FrameLayout R.id.frameTitle
Run Code Online (Sandbox Code Playgroud)
我尝试了以下内容
TitleFragment titleFragmentById = (TitleFragment) fragmentManager.findFragmentById(R.id.frameTitle);
Run Code Online (Sandbox Code Playgroud)
和
TitleFragment titleFragmentByTag = (TitleFragment) fragmentManager.findFragmentByTag("fragmentTag");
Run Code Online (Sandbox Code Playgroud)
但是两个对象(titleFragmentById和titleFragmentByTag)都是null
我错过了什么吗?
我正在使用Compatibility Package, r3和开发API level …
我要检查,如果View内的ScrollView是目前Android中可见.我没有检查它是否专注于它,但它是否正在屏幕上显示.有没有一种方法View可以告诉我视图当前是否可见?
我有4个片段。我通过使用hide/ show事务在它们之间切换。其中之一可能具有嵌套的片段,这些片段是通过replace事务添加的。问题是,如果我添加一个嵌套片段,则隐藏主片段,然后再次显示它,onHiddenChanged则不会调用嵌套片段的方法。为什么这样?如何确定嵌套片段何时可见?
android android-fragments fragment-lifecycle android-nested-fragment
我使用单个活动并将多个片段嵌入其中。现在我想知道在单个活动类中,当前正在显示哪个片段。我怎样才能做到这一点?我从这里查看了解决方案How to Know if a Fragment is Visible?
MyFragmentClass test = (MyFragmentClass) getSupportFragmentManager().findFragmentByTag("testID");
if (test != null && test.isVisible()) {
//DO STUFF
}
else {
//Whatever
}
Run Code Online (Sandbox Code Playgroud)
但我不知道你的参数是什么"testID"。此外,我尝试从获取当前片段对象中实现解决方案
Fragment currentFragment = getActivity().getFragmentManager().findFragmentById(R.id.fragment_container);
Run Code Online (Sandbox Code Playgroud)
但在这里我收到错误消息:“无法解析符号‘fragment_container’”
有谁知道如何获取使用单个活动和多个片段方法时显示的当前片段的名称?
你好,我有一个活动,有10个片段,当没有片段可见时,我要检查,即按返回按钮后,我回到I want catch this back not back between fragments
没有片段可见的主要活动,我在这里找到了一种方法
如何知道片段是否可见?
像这里通过标签名称检查,但我无法通过标签名称检查所有10个片段有什么帮助?