0

作成したレイアウトを使用しないListFragmentを使用していますが、アクティビティのgetSupportFragmentManager.findFragmentByID(fragId)メソッドを介してフラグメントのIDにアクセスできるように、フラグメントのIDを設定する方法が必要です。

アクセスしようとしているフラグメントの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はnullになります。

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に戻ります。

4

0 に答える 0