我正在使用不使用我创建的布局的 ListFragment,我需要一种方法来设置片段的 ID,以便我可以通过活动的 getSupportFragmentManager.findFragmentByID(fragId) 方法访问它。
在我尝试访问的片段的 onCreateView 方法中,我对传入的容器执行了 setId(R.id.notes_fragment)。我将其设置为引用 res/values/ids 中的以下代码的 id。 xml。这是 ids.xml 的内容:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item type="id" name="notes_fragment" />
</resources>
但是当我这样做时 frag 为空:
NotesFragment frag = (NotesFragment) this.getSupportFragmentManager().findFragmentById(R.id.notes_fragment);
我用它来提交片段: getSupportFragmentManager().beginTransaction().add(android.R.id.content, notesFrag, NotesFragment.TAG).commit();
文档说我可以使用这个提交片段的 ID 通过 findFragmentById 访问它。如何获取此已提交片段的 ID?我试图传递我试图访问的片段的 ID,以启动活动(需要与片段对话的那个),但它仍然为空。
编辑:
我刚刚发现了 findFragmentByTag,但即使我引用了片段的 TAG,即使片段仍然存在,它仍然返回 null。