Articles of android fragments

像Application.ActivityLifecycleCallbacks一样挂钩片段的生命周期

在Android中,如果您有Application上下文,则可以注册Application.ActivityLifecycleCallbacks实例,每当Activity通过其生命周期回调之一时,将调用该实例。 如何为片段完成相同的操作? 我认为片段没有这样的界面,也没有任何明确的地方我会添加它。 也许自定义FragmentHostCallback创建FragmentController但是如何为整个应用程序插入? 用例是每次Fragment调用其生命周期回调时都需要通知的库,我不想创建BaseFragment。 我想只从Application的onCreate中调用它就是它(如果可能的话……)。 编辑: 我在Android开源项目中创建了一个关于此问题的问题 。

那么Android 3.0中Fragments的确切优势是什么?

有人可以解释一下使用Fragments的确切优势吗? 在什么情况下我们应该使用碎片? 据我所知,这个框架: 帮助重用现有代码 – 如果我在片段中实现function,那么当需要function时,在我的应用程序的多个部分中显示此片段相对容易。 帮助处理多种屏幕尺寸 – 具有大屏幕的设备可能能够同时显示多个片段,而对于较小的设备,我可以在单独的活动中显示片段。 这个框架还有更多内容吗? 编辑: 我已经在3.0平板电脑的大型项目中广泛使用Fragments。 对我而言,最大的优势是使用片段我可以将单个整体Activity中的逻辑分解为多个较小的片段。 大屏幕意味着巨大的活动,难以阅读,理解(特别是对新团队成员),开发和维护。 片段肯定有助于此事。

在片段中添加Google Maps API V2

我正试图在片段中显示来自Google Maps API V2的地图。 我尝试使用SupportMapFragment,但我无法获得预期的输出。 我也是这个平台的初学者! 我真正想要的只是一种将Google Maps API V2 for Android中的地图放入片段中的方法。 请分享您的想法和参考。 提前致谢 !

Android工具栏+标签布局+抽屉,滚动时隐藏工具栏并将TabLayout置于顶部

我有活动,附有抽屉。 抽屉的每个菜单都是一个片段,在其中一个菜单下我有一个带有TabLayout的片段,每个标签都包含一个RecyclerView 。 所以现在,当我滚动RecyclerView ,标签布局会被隐藏,但ToolBar仍然位于顶部。 我需要的是ToolBar隐藏( scrollFlags:scroll|enterAlways ), TabLayout应显示在顶部。 所以目前的设置是: Activity with attached DrawerLayout -> Fragment with TabLayout -> Tab Fragment 1 with RecyclerView -> Tab Fragment 2 with RecyclerView

ListFragment优于ListView或普通片段

我有一个活动,左侧有一个项目菜单是textViews。 当用户选择其中一个textView时,它会将listView放在活动区域​​的其余部分,占据屏幕的另外2个3。 当用户触摸页面左侧菜单上的不同textView时,它将打开不同的相应listView项。 我正在考虑为此目的在屏幕上放置一个大的列表视图。 然而另一种方式是在活动中使用常规listView,我可以在其中放置一个列表片段并在片段之间切换。 第三种选择是在其中放置一个片段并在该片段中放入一个listView。 我之前从未使用过ListFragment。 考虑到没有方向改变,这将是最好的计划? 活动将锁定在垂直/纵向方向。 这将在平板电脑上运行,而不是在手机等小型设备上使用。 我不知道我是否需要使用加载器,因为列表不会很长,列表的内容只是文本。 使用listFragment比其他选择有什么好处吗? 此活动的三个选项: ListView上的活动就可以了 上有ListFragment活动 具有片段的活动ListView inside of the Fragment`中有ListView inside of the

DialogFragment和后退按钮

是否有可能拦截DialogFragment的键按钮? 抱歉天真的问题..我的FragmentActivity的onBackPressed永远不会被调用。 提前致谢 if (imageFile.exists()) { ShowPicDialog newFragment = ShowPicDialog.newInstance(); FragmentTransaction ft = manager.beginTransaction(); Fragment prev = manager.findFragmentByTag(“picDialog”); if (prev != null) { ft.remove(prev); } ft.addToBackStack(“picDialog”); newFragment.getArguments().putString(“path”, imageFile.getAbsolutePath()); newFragment.show(ft, “picDialog”); } 抱歉,我添加了用于显示对话框的代码片段。

FragmentTransation setCustomAnimations无效

我尝试使用新的android兼容包将片段包含到我的项目中。 我在添加新片段时尝试包含过渡animation。 这件事只是我的animation作品之一。 Inanimation有效,但Outanimation不起作用。 我在某处读到它是兼容包中的一个错误。 但我也读到该错误已在兼容包的第3版中修复。 任何人都可以帮我解决这个问题 在animation中 出animation 这是我用来添加片段的代码 newFragment = new HelloWorldFragment(); FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.setCustomAnimations(R.anim.bottom_top_animation, R.anim.top_bottom_animation); ft.add(R.id.outer_layout, newFragment); ft.addToBackStack(null); ft.commit();

Android:片段如何获取Activity的全局variables

我有一个带有全局variablesint x的活动,如何通过片段来获取其活动的variablesx的当前值?

在片段中显示RecyclerView

我在Android Lollipop中尝试新的RecyclerView而且我被卡住了。 我正在尝试接收一个列表,在图标的右侧有一个图标和一个TextView ,在Fragment 。 我find了关于如何设置RecyclerView 精彩教程 。 我已经遵循了每一点,只更改了item_layout.xml以满足我的需求。 该项目构建没有任何错误,但当它在我的设备上启动时,我收到此错误: java.lang.RuntimeException:无法启动活动ComponentInfo {com.fredrikaldgard.materialcolors / com.fredrikaldgard.materialcolors.MainActivity}:java.lang.NullPointerException:尝试调用虚方法’void android.support.v7.widget.RecyclerView。 setLayoutManager(android.support.v7.widget.RecyclerView $ LayoutManager)’对空对象引用 我试图谷歌问题,但我是Android开发的业余爱好者。 这是我的MainActivity : @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 1. get a reference to recyclerView RecyclerView recyclerView = (RecyclerView) findViewById(R.id.list); // 2. set layoutManger recyclerView.setLayoutManager(new LinearLayoutManager(this)); // this is data fro recycler view ItemData […]

片段生命周期:何时不调用“ondestroy”和“ondestroyview”?

想象一下这种情况:我在Pager有一个Fragment 。 我尝试切换到其他应用程序,以便拥有我的寻呼机(和我的片段)的活动将被停止并最终被暂时销毁。 所以,当我回到我的Activity时,会调用Fragment的回调onCreate , oncreateview等等。 但是之前没有调用Fragment的onDestroy回调! 似乎在“onStop”之后,片段立即被销毁。 这是正常的行为吗? 是不是因为没有调用onDestroy而销毁了Activity ?