2017-04-03 57 views
0

我正在研究一个应用程序,其中有一些片段类,它可以通过两种方式在应用程序中打开。第一种方式是主流程,第二种方式是通过导航抽屉使用枚举检查条件

因此,当从导航抽屉中调用片段时,它将执行某个任务,并且如果它是来自主流的调用而不是执行另一个任务。

如何检查上下文?有没有可能通过使用Enum类

注:

  1. 我不想通过意向发送硬编码值。
+0

不要认为没有put和intentExtra就可能。 Similar'ish question:http://stackoverflow.com/questions/11529529/how-to-check-which-intent-started-the-activity –

+0

一切都取决于你如何在不同情况下启动片段。 –

+0

有人告诉我使用枚举..所以这就是为什么我问这个问题.... –

回答

4

首先,您应该避免在Android环境中使用enum。倾向于使用@IntDef@StringDef。这背后的主要原因是浪费资源。枚举需要更多的内存。

由于Colt McAnlis显示in this perfmatters episode枚举在相当平凡的示例上占用了13倍的空间。

其次,你想达到什么可以通过Intent s或Bundles完成,从一个组件传递布尔值到另一个组件。