android - 如何根据 fragment 的类型设置 fragment 的操作栏和左抽屉属性

标签 android performance android-activity android-fragments android-actionbar

我的应用程序中有各种类型的 fragment ,ActionBar 上有 3 个图标(筛选、刷新和排序),但我不想在每个 fragment 中显示所有 3 个图标。根据 fragment ,我只需要展示其中的一部分。

我想对左抽屉做类似的事情。在某些 fragment 上,我想显示左抽屉,而不想在其他 fragment 上显示左抽屉。

我的应用程序中有一个 Activity 类,我将这些 fragment 附加到该类上,目前我正在该类中处理这两件事,并且代码因 if-else 条件而变得一团糟。

所以现在我正在检查 fragment 名称,然后根据它设置操作栏图标和左抽屉属性。

请告诉我一个更好的方法(最好在 Fragment 本身中处理)

谢谢

最佳答案

fragment 可以通过 getActivity() 访问它们的 Activity 将在 onAttach() 之后返回非空 Activity 的函数被称为(在 onDetach() 之前)。一旦 fragment 具有 Activity ,它就可以告诉它通过检查手动执行您在 Activity 中所做的任何事情,包括更改操作栏按钮。

关于android - 如何根据 fragment 的类型设置 fragment 的操作栏和左抽屉属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27902812/

相关文章:

android - ViewModelProviders 实例失败,因为无法解析 "of"

android - 如何通过 UTF-8 中的 http post 发送字符串

android - 将录音上传到mysql并在网站上播放

android - 如何以编程方式在android中按下后退按钮?

android - 当 Activity 通过 "Don' 被终止时不会触发 ActivityLifecycleCallbacks t keep Activity ”

android - 单击通知栏时复制应用程序

android - 在 android 上的 cordova 应用程序中使用 web pack build 时找不到文件错误

c# - 基数排序中的分组何时会带来优势?

c++ - atoi() 和 atof() 缓存吗?它们似乎执行得越快,调用的次数越多

python - 为什么 numpy.take 在 numpy.split 的结果上很慢,而简单索引却不是?