問題タブ [flutter-listview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1586 参照

flutter - Flutter Animated List: 条件付きで ListView アイテムを追加する

フラッター プロジェクトにアニメーション リストがあります。

そのリストのすべての要素に対して、Firestore ストリームから動的に配置されるボタンのグリッドがあります。グリッドに 10 個のアイテムが返されることもありますが、0 個のアイテムが返されることもあります。

リスト要素のグリッド上のボタンが押されると、firestore が検索され、その下の次のリスト要素にボタンの新しいグリッドが作成されます。

私が抱えている問題は、グリッド ボタンが 0 で戻ってきたときに、新しいリスト要素 (グリッド ボタンのない空のリスト要素) を作成したくないことです。回避策としてサイズが 0 のコンテナーを返そうとしましたが、アニメーション化されたリストはまだ高さを与えているため、問題があることがわかります。また、リストに空のリスト要素が表示されないため、これは悪い習慣になることも理解しています。

文字列としての食品のリストから始めます。

次に、アニメーション化されたリストがあります。

AnimatedList のサイズを食品リストの長さに設定しました。

Animated List の子を、firebase を検索するクラスに設定し、次のようにボタンのグリッドを含むカードを返します。

次に、各グリッド ボタンの on press メソッドで、次のような新しいリスト要素を追加します。

問題は、ニワトリが先か卵が先かの問題です。以下に示します。

  1. リスト アイテムは食品リストのインデックス 0 から生成され、すべてのストリーム データは食品リスト インデックス 0 の firebase 結果の場合です。
  2. 最初のリスト行のグリッド項目を押すと、グリッド項目の新しいセットを含む新しいリスト行が追加されます。これにより、食品リストの配列とリストの呼び出しが更新され、グリッド ボタンの新しい行が追加されます。問題は、これが最初の行グリッドの onpressed にあるためです。次の行に何が返されるかがわからないため、次のリスト行でサイズ 0 のグリッドが返されるかどうかを知る方法がありません。現在のセットアップ方法。

null、幅と高さが0のコンテナを返そうとしましたが、うまくいきませんでした。それを修正するために何ができるかわかりません。

ご協力いただきありがとうございます

0 投票する
1 に答える
54 参照

flutter - 状態のコードが別のファイルで定義されている場合、リストビューが表示されない

Flutter開発は初めてで、これは素朴な質問かもしれませんが、フラッター開発サイトの初心者向けチュートリアルに従っていましたが、リストビューが表示されません。クラス/関数名をいくつか変更し、コードを別のファイルに入れましたが、ここで何が間違っているのかわかりません。これは、ランダムな単語の無限リストのリストであるはずです。
完全なコードは次のとおりです。

final index = pos ~/ 2;また、このロジックが何であるかもわかりません。公式ドキュメントには次のように書かれています。

式 i ~/ 2 は、i を 2 で割り、整数の結果を返します。例: 1, 2, 3, 4, 5 は 0, 1, 1, 2, 2 になります。

しかし、それは間違った使い方をしていると推測しています。