質問編集履歴
2
わかりずらい点を修正しました
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
解決方法を掲載しました
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
|
+

|
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
|
|