1

データベースからカテゴリのリストを読み取り、それらを ListView に表示するメイン アクティビティがあります。

1 つをクリックすると、2 番目の FragmentActivity が開き、カテゴリ内のすべての項目が別のリストに表示されます。これは Fragment と FragmentPagerAdapter で実装され、カテゴリをスワイプできるようにします。

私の問題は、特定のページにどのカテゴリを表示する必要があるかを判断するために、フラグメントの OnCreateView にあるカテゴリの配列にアクセスする必要があることです。私が遭遇したすべてのページャーの例では、「ページ #1」などを表示するか、データをフラグメントの静的配列に格納します。

現時点では、私は:

  • メイン アクティビティでカーソルを反復処理し、カテゴリを配列に格納します。
  • その配列をインテントの追加データとして 2 番目のアクティビティに渡します
  • 2 番目のアクティビティで余分なデータを抽出し、それをクラス配列に格納します。
  • 配列を返すアクティビティに getCategories 関数を追加します。
  • Fragment の OnCreateView で、getActivity().getCategories() を呼び出して配列を取得します。

これは少し長すぎるように思えますが、もっと良い方法があるはずです。データを渡すより良い方法、または DB にアクセスする他の方法があるので、一度だけ読み取る必要がありますが、メインアクティビティとフラグメントの両方からデータにアクセスできますか?

4

0 に答える 0