FlutterのListTileを使った画面遷移について質問があります。
作りたいもの:
item0~99までの名前がついたリストを作り、各ボタンを押したら
this page is item$i
と表示されるようなプログラムを作りたいです。
すなわち、item25と書いてあるListTileを押したら、this page is item25 と表示されるようにしたいです。
しかし、画面遷移のところで問題が生じています。
画面遷移先を100個も予め登録してNavigator.pushをすると動作はすると思うのですが、あまり現実的ではないと思います。
大量の画面遷移が必要なときに、画面遷移を自動化してくれるようなListで言うListview.builderのような物はどのように実装すればよろしいでしょうか?
以下に画面遷移前までのコードを記載します。
超初心者であるので、トンチンカンなことを言っていたら申し訳ありません。
ご回答のほどよろしくお願いいたします。
import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; void main() { runApp(MyApp( items: List<String>.generate(100, (i) => "Item $i"), )); } class MyApp extends StatelessWidget { final List<String> items; MyApp({Key key, @required this.items}) : super(key: key); @override Widget build(BuildContext context) { final title = 'Long List'; return MaterialApp( title: title, home: Scaffold( appBar: AppBar( title: Text(title), ), body: ListView.builder( itemCount: items.length, itemBuilder: (context, index) { return ListTile( title: Text('${items[index]}'), ); }, ), ), ); } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/11 16:24