0

メイン アクティビティで add tab メソッドを使用して表示される 3 つのフラグメントがあります。

tablayout.addTab(one)
tablayout.addTab(two)
tablayout.addTab(three)

呼び出されるたびにフラグメントのコンテキストが渡される非アクティビティ クラス操作があります。クラス操作は、3 つのフラグメントに対してアクションを実行します。

Operations op = new Operations(getActivity, list, emptyList, recyclerView)

最初のパラメーター getActivity は、呼び出しフラグメントのコンテキストです。

フラグメント 1 にはメソッド showMessage1 があります フラグメント 2 にはメソッド showMessage2 があります フラグメント 3 にはメソッド showMessage3 があります

これらのフラグメントのいずれかのコンテキストを持つ操作クラスからこれらのメソッドのいずれかを呼び出すにはどうすればよいですか?

4

2 に答える 2

0

Fragment クラスにコンテキストをキャストする必要があります

たとえば、Operations クラス内で、コンテキストを Fragment 1 にキャストする必要があります

Fragment1 のメソッドを呼び出す必要がある場合

(context as Fragment1).showMessage1()

Fragment2 のメソッドを呼び出す必要がある場合

(context as Fragment2).showMessage2()
于 2019-12-03T14:49:55.590 に答える