2

シナリオ

私は、さまざまなクラスの一連のクイズを生成するクイズジェネレーターを持っています。シーケンスの長さは無制限です。

クイズ ジェネレーターのビュー モデルがあります。クイズの種類ごとにビュー モデルがあります。クイズ ジェネレーター ビュー モデルは、クラスに応じてクイズのビュー モデルを作成する必要があります。

問題

ビュー モデルはライフサイクルへの参照を保持してはなりませんが、ビュー モデルを作成するにはライフサイクルが必要です。

ViewModelProviders.of(lifecycle).get(classForQuizzType);

質問

クイズのサブ ビュー モデルはどこで作成しますか?

私が考えることができる1つの解決策は、毎回アクティビティからサブビューモデルを注入することです。特にネストされたビューが関係している場合、これは回り道です。

もう 1 つの解決策は、ネストされたビューでビュー モデルを作成することです。ビュー内からライフサイクルにアクセスすることは一般的ではないため、これも醜いように見えます。

明確な解決策がない場合、アーキテクチャに対する私のアプローチの何が問題になっているのでしょうか? この種のシナリオではフラグメントを使用する必要がありますか?

4

2 に答える 2