質問編集履歴

2

わかりずらい点を修正しました

2022/09/18 09:48

投稿

9nahito
9nahito

score40

test CHANGED
File without changes
test CHANGED
@@ -148,8 +148,7 @@
148
148
 
149
149
  ```
150
150
 
151
- ### 該当のソースコード
151
+ ### エラーが起きたソースコード
152
-
153
152
  ```dart
154
153
  import 'package:flutter/material.dart';
155
154
  import 'package:flutter/rendering.dart';

1

解決方法を掲載しました

2022/09/18 09:47

投稿

9nahito
9nahito

score40

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,80 @@
4
4
  Flutterで ListView.builder の中に さらに、ListView.builder を入れたいです!
5
5
  Flutterでカレンダーのようなシステムを作っています。
6
6
  scrollDirection: Axis.horizontal,で横並びに指定したListView.builder のそれぞれの中に 縦並びのListView.builderを入れようと思っています!
7
-
7
+ ### 追記: 解決しました!
8
+ ta.fu さんのコードをもとにして GridView の中に ListView を入れることで解決しました。
9
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-09-18/9285e5dd-c0b2-4594-86f5-5d15b8a5d8d9.png)
10
+ ```dart
11
+ import 'package:flutter/material.dart';
12
+ import 'package:flutter/rendering.dart';
13
+
14
+ void main() => runApp(const MyApp());
15
+ class MyApp extends StatelessWidget {
16
+ const MyApp({super.key});
17
+
18
+ // This widget is the root of your application.
19
+ @override
20
+ Widget build(BuildContext context) {
21
+ return MaterialApp(//return MaterialAppはアプリ内で1つ
22
+ home: calender()
23
+ );
24
+ }
25
+
26
+ }
27
+
28
+ class calender extends StatefulWidget {
29
+ const calender({Key? key}) : super(key: key);
30
+
31
+ @override
32
+ State<calender> createState() => calenderState();
33
+ }
34
+ List<String> days = ["月","火","水","木","金","土","日"];
35
+ class calenderState extends State<calender> {
36
+ @override
37
+ Widget build(BuildContext context) {
38
+ return Scaffold(
39
+ body:Column(
40
+ //Expandedの親はColumnかRow
41
+ children: [
42
+ Expanded(
43
+ child: Row(
44
+ children: [
45
+ const Text("Row"),
46
+ Expanded(
47
+ child: GridView.builder(
48
+ itemCount: 7,
49
+ itemBuilder: (context, index) {
50
+ String today = days[index];
51
+ return Column(
52
+ children: [
53
+ Text(today),
54
+ Expanded(child: ListView.builder(
55
+ itemCount: 24,
56
+ itemBuilder: (context,index){
57
+ return Container(
58
+ child: Text("$index:00"),
59
+ );
60
+ }),)
61
+ ],
62
+ );
63
+ },
64
+ gridDelegate:
65
+ const SliverGridDelegateWithFixedCrossAxisCount(
66
+ crossAxisCount: 7,
67
+ ),
68
+ ),
69
+ ),
70
+ ],
71
+ ),
72
+ ),
73
+ ],
74
+ )
75
+
76
+ );
77
+
78
+ }
79
+ }
80
+ ```
8
81
 
9
82
  ### 発生している問題・エラーメッセージ
10
83