我正在使用不使用我创建的布局的ListFragment,我需要一种方法来设置片段的ID,以便我可以通过activity的getSupportFragmentManager.findFragmentByID(fragId)方法访问它。
在我试图访问的片段的onCreateView方法中,我对传入的容器执行了setId(R.id.notes_fragment)。我将其设置为id以引用res / values中的以下代码/ids.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以启动活动(需要与片段对话的那个),但它仍然是null。
编辑:
我刚刚发现了关于findFragmentByTag,但是即使我引用了片段的TAG,它仍然会返回null,即使片段仍然存在。