ファイヤーストアからフラッターのあるリストにデータをロードする際の問題

ジョニーブラボー

Firestoreドキュメントには、特定のユーザー情報(ユーザー名、年齢、課題など)が含まれています。もちろん、1人のユーザーが複数の課題に直面する可能性があります。特定のユーザーデータをオブジェクトのリストにロードしていますが、そのリストをFutureBuilderに返すと問題が発生します。2人のユーザーがいて、それぞれに3つの課題があるとします。リストを返すと、正しい長さ(6)が表示されますが、リストにロードされた最後のユーザーからのデータのみが含まれています。私のListView.builderは6つの_cardBuildersを表示しますが、それらのカードのデータは同じです。

コンストラクターのリストをMapのリストに置き換えようとしましたが、結果は同じです。おそらく論理的な間違いですが、私はそれを見つけることができません。

Future<List<AllChallengesStorage>> challengesToFeed () async {

    var queryResult = await Firestore.instance.collection("Users")
        .where("total_challenges", isGreaterThanOrEqualTo: 1)
        .getDocuments();

    if (queryResult.documents.isNotEmpty){  

      for (int i=0; i < queryResult.documents.length; ++i){
        for (int j=0; j < queryResult.documents[i].data['total_challenges']; ++j){

          widget.challengesInfo.username = queryResult.documents[i].data['username'];
          widget.challengesInfo.name = queryResult.documents[i].data['challenges'][j]['name'];
          widget.challengesInfo.description = queryResult.documents[i].data['challenges'][j]['description'];
          widget.challengesInfo.duration = queryResult.documents[i].data['challenges'][j]['duration'];

          allChallenges.add(widget.challengesInfo);
        }
      }
    }
    return allChallenges;
  }


class _FeedState extends State<Feed> {

  List<AllChallengesStorage> allChallenges = [];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: FutureBuilder<List<AllChallengesStorage>>(
        future: challengesToFeed(),
        builder: (BuildContext context, AsyncSnapshot snapshot) {
          if (!snapshot.hasData) return Center(child: Text("Loading..."));
          return ListView.builder(
            itemCount: snapshot.data.length,
            itemBuilder: (BuildContext context, int index) {
              return _cardBuilder(context, snapshot, index);
            },
          );
        },
      ),
    );
  }
ナディーム・シディック

問題は、同じオブジェクトを使用していて、各ループでそのプロパティを上書きしていることです。必要なのは、2番目のループが完了するたびに、モデルクラスで新しいヘルパーオブジェクトを作成するなど、新しいカードごとに新しいオブジェクトをインスタンス化することです。

    for (int i=0; i < queryResult.documents.length; ++i){
       ClassName helper = ClassName();
    for (int j=0; j < queryResult.documents[i].data['total_challenges']; ++j){

      helper.username = queryResult.documents[i].data['username'];
      helper.name = queryResult.documents[i].data['challenges'][j]['name'];
      helper.description = queryResult.documents[i].data['challenges'][j]['description'];
      helper.duration = queryResult.documents[i].data['challenges'][j]['duration'];

      allChallenges.add(helper);
    }
  }
}

次に、リスト内のオブジェクトにアクセスするために、インデックスを指定し、そのインデックスとそのプロパティでオブジェクトにアクセスできます。

allChallenges[index].name

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

フラスコアプリのエンドポイントからフェッチしたデータを表示するのに問題がある

分類Dev

クラウドファイヤーストアからフラッターでリストビューにデータを取得する

分類Dev

ネストされたJSONファイルからデータをフェッチする際の問題

分類Dev

AndroidアプリのデフォルトのデバイスブラウザにローカルHTMLファイルをロードする際の問題

分類Dev

データソースのドラフトレコードからGoogleAppMakerを変換する際の問題

分類Dev

リモートYarnクラスターでsparkを使用してS3からファイルにアクセスする際の問題

分類Dev

テキストファイルから辞書にデータを整理する際の問題

分類Dev

ピクルスファイルからグラフをアップロードする際の問題

分類Dev

データベースアンドロイドからグーグルマップデータをフェッチする際の問題

分類Dev

フラッターのファイヤーストアにあるオブジェクトのコンバーターメソッドはありますか?

分類Dev

C#-リストボックスからテキストファイルのデータを上書きするのに問題があります

分類Dev

フラッターでテキストフィールドから値を取得する際の問題

分類Dev

クラウドファイヤーストアからローカルエミュレーターにデータをインポートする方法は?

分類Dev

ファイヤーストアからデータをフェッチし、その内部で別のデータをフェッチする方法(参照による)

分類Dev

ファイヤーストアからSearchableSpinnerにデータをロードしましたが、searchablespinnerの結果をフィルタリングするとアプリがクラッシュします

分類Dev

特定のユーザーからデータを取得する際の問題(ファイアストアルール)

分類Dev

反応で配列から選択リストにデータをロードする際の問題

分類Dev

Rでデータをロングフォーマットからワイドフォーマットに再形成する際の問題

分類Dev

リストを大規模な辞書からデータフレームに変換する際の問題

分類Dev

NestJSでのFileInterceptorとBodyの問題(リクエストにファイルとデータをアップロードする)

分類Dev

ftpにアップロードする24時間のデータファイルのシェルスクリプト。問題を特定できません

分類Dev

サーバーにAngularフルスタックアプリをデプロイする際のクロスドメインオリジンの問題

分類Dev

ダンプファイルをredisデータベースにロードする際の問題

分類Dev

Bluetoothコンポーネントを使用してAndroidフォンからシリアルデバイスにデータを転送する際の問題

分類Dev

現在の列を追加してフラットファイルからデータベーステーブルにデータをロードする

分類Dev

MySQL-スキーマとそのテーブルを作成し、Workbenchに必要なすべてのデータを挿入する必要がある既存の.sqlファイルからスクリプトを実行する際の問題

分類Dev

クライアントブラウザからのPOSTリクエストを受け付けているフロントエンドサーバーからバックエンドサーバー(アップロード用)にファイルを送信する方法(フォームデータ->ファイル入力)?

分類Dev

クライアントブラウザからのPOSTリクエストを受け付けているフロントエンドサーバーからバックエンドサーバー(アップロード用)にファイルを送信する方法(フォームデータ->ファイル入力)?

分類Dev

クラウドファイヤーストアを使用して、フラッターのデータスナップショットから特定の値を取得するにはどうすればよいですか?

Related 関連記事

  1. 1

    フラスコアプリのエンドポイントからフェッチしたデータを表示するのに問題がある

  2. 2

    クラウドファイヤーストアからフラッターでリストビューにデータを取得する

  3. 3

    ネストされたJSONファイルからデータをフェッチする際の問題

  4. 4

    AndroidアプリのデフォルトのデバイスブラウザにローカルHTMLファイルをロードする際の問題

  5. 5

    データソースのドラフトレコードからGoogleAppMakerを変換する際の問題

  6. 6

    リモートYarnクラスターでsparkを使用してS3からファイルにアクセスする際の問題

  7. 7

    テキストファイルから辞書にデータを整理する際の問題

  8. 8

    ピクルスファイルからグラフをアップロードする際の問題

  9. 9

    データベースアンドロイドからグーグルマップデータをフェッチする際の問題

  10. 10

    フラッターのファイヤーストアにあるオブジェクトのコンバーターメソッドはありますか?

  11. 11

    C#-リストボックスからテキストファイルのデータを上書きするのに問題があります

  12. 12

    フラッターでテキストフィールドから値を取得する際の問題

  13. 13

    クラウドファイヤーストアからローカルエミュレーターにデータをインポートする方法は?

  14. 14

    ファイヤーストアからデータをフェッチし、その内部で別のデータをフェッチする方法(参照による)

  15. 15

    ファイヤーストアからSearchableSpinnerにデータをロードしましたが、searchablespinnerの結果をフィルタリングするとアプリがクラッシュします

  16. 16

    特定のユーザーからデータを取得する際の問題(ファイアストアルール)

  17. 17

    反応で配列から選択リストにデータをロードする際の問題

  18. 18

    Rでデータをロングフォーマットからワイドフォーマットに再形成する際の問題

  19. 19

    リストを大規模な辞書からデータフレームに変換する際の問題

  20. 20

    NestJSでのFileInterceptorとBodyの問題(リクエストにファイルとデータをアップロードする)

  21. 21

    ftpにアップロードする24時間のデータファイルのシェルスクリプト。問題を特定できません

  22. 22

    サーバーにAngularフルスタックアプリをデプロイする際のクロスドメインオリジンの問題

  23. 23

    ダンプファイルをredisデータベースにロードする際の問題

  24. 24

    Bluetoothコンポーネントを使用してAndroidフォンからシリアルデバイスにデータを転送する際の問題

  25. 25

    現在の列を追加してフラットファイルからデータベーステーブルにデータをロードする

  26. 26

    MySQL-スキーマとそのテーブルを作成し、Workbenchに必要なすべてのデータを挿入する必要がある既存の.sqlファイルからスクリプトを実行する際の問題

  27. 27

    クライアントブラウザからのPOSTリクエストを受け付けているフロントエンドサーバーからバックエンドサーバー(アップロード用)にファイルを送信する方法(フォームデータ->ファイル入力)?

  28. 28

    クライアントブラウザからのPOSTリクエストを受け付けているフロントエンドサーバーからバックエンドサーバー(アップロード用)にファイルを送信する方法(フォームデータ->ファイル入力)?

  29. 29

    クラウドファイヤーストアを使用して、フラッターのデータスナップショットから特定の値を取得するにはどうすればよいですか?

ホットタグ

アーカイブ