0

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

//File name: main.dart
import 'package:english_words/english_words.dart';
import 'package:flutter/material.dart';
import 'package:flutter_app_as/StatefulWidgetStates.dart';

class StatefulRandomWordsWidget extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return RandomWordsState();
  }

}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    var wordWidget = StatefulRandomWordsWidget();
    return MaterialApp(
        title: 'Useless Title',
        home: Scaffold(
            appBar: AppBar(title: Text('Welcome to Flutter')),
            body: wordWidget));
  }
}

void main() {
  runApp(MyApp());
}

//File name: StatefulWidgetStates.dart
import 'package:english_words/english_words.dart';
import 'package:flutter/material.dart';
import 'package:flutter_app_as/main.dart';


class RandomWordsState extends State<StatefulRandomWordsWidget> {
  final dataList = <WordPair>[];

  @override
  Widget build(BuildContext context) {
    return getListView();
  }

  Widget getListView() {
    ListView listViewWidget = ListView.builder(
        itemCount: dataList.length,
        padding: EdgeInsets.all(8.0),
        itemBuilder: (context, pos) {
          if (pos.isOdd) {
            return Divider();
          }
          else {
            final index = pos ~/ 2;
            if (index >= dataList.length) {
              List<WordPair> pairs=generateWordPairs().take(10);
              dataList.addAll(pairs);
            }

            WordPair childData = dataList[index];
            return ListTile(title:  Text(childData.asCamelCase, style: TextStyle(fontSize: 12.0)));
          }

        });
    return listViewWidget;
  }

}

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

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

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

4

1 に答える 1