0
我正在研究一个应用程序,其中有一些片段类,它可以通过两种方式在应用程序中打开。第一种方式是主流程,第二种方式是通过导航抽屉。使用枚举检查条件
因此,当从导航抽屉中调用片段时,它将执行某个任务,并且如果它是来自主流的调用而不是执行另一个任务。
如何检查上下文?有没有可能通过使用Enum类。
注:
- 我不想通过意向发送硬编码值。
我正在研究一个应用程序,其中有一些片段类,它可以通过两种方式在应用程序中打开。第一种方式是主流程,第二种方式是通过导航抽屉。使用枚举检查条件
因此,当从导航抽屉中调用片段时,它将执行某个任务,并且如果它是来自主流的调用而不是执行另一个任务。
如何检查上下文?有没有可能通过使用Enum类。
注:
首先,您应该避免在Android环境中使用enum
。倾向于使用@IntDef
,@StringDef
。这背后的主要原因是浪费资源。枚举需要更多的内存。
由于Colt McAnlis显示in this perfmatters episode枚举在相当平凡的示例上占用了13倍的空间。
其次,你想达到什么可以通过Intent
s或Bundles
完成,从一个组件传递布尔值到另一个组件。
不要认为没有put和intentExtra就可能。 Similar'ish question:http://stackoverflow.com/questions/11529529/how-to-check-which-intent-started-the-activity –
一切都取决于你如何在不同情况下启动片段。 –
有人告诉我使用枚举..所以这就是为什么我问这个问题.... –