我能否以编程方式在片段的 R.id id 和 class 之间进行转换?

Can I programmatically convert between R.id ids and class of a fragment?

假设我有一个名为 Fragment MenuFragment 的片段,它在 nav_graph.xml

中有 R.id android:id="@+id/MenuFragment"

问题 1:如果我只有 MenuFragment.class,我可以通过编程方式找到 R.id 吗?

问题 2:如果我只有 R.id.MenuFragment,我可以通过编程方式获取 MenuFragment.class 吗?

  1. 没有。片段可以有无限多个 id。如果你有一个片段的实例,你可以得到它的 ID,但你可能在十几个活动中有同一个片段,但有十几个不同的 ID。哎呀,你可以在同一个 activity 中拥有一打副本和一打 id。

  2. 这个,是的。如果使用 id 获取片段的实际实例,则可以使用 .getClass() 获取其 class.