我在為我的 Gridview 獲得靈活的高度時遇到了麻煩,在這里有點迷失了。這是我的錯誤,下面是我的代碼。請問有什么想法嗎?
“在應用父資料時拋出以下斷言。:ParentDataWidget 的使用不正確。
ParentDataWidget Expanded(flex: 1) 想要將 FlexParentData 型別的 ParentData 應用到 RenderObject,它已被設定為接受不兼容的 ParentData 型別的 ParentData。
通常,這意味著 Expanded 小部件具有錯誤的祖先 RenderObjectWidget。通常,擴展小部件直接放置在 Flex 小部件內。有問題的 Expanded 當前放置在 RepaintBoundary 小部件中。”
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: SafeArea(
child: Column(children: <Widget>[
AppBar(
backgroundColor: Colors.grey,
actions: [
IconButton(onPressed: () {}, icon: Icon(Icons.search)),
],
),
GridView.count(
primary: false,
crossAxisCount: 4,
shrinkWrap: true,
//scrollDirection: Axis.vertical,
//childAspectRatio: MediaQuery.of(context).size.width /
// (MediaQuery.of(context).size.height / 4),
children:
List.of(foodBrain.getFoodList().map((food) => ImageCircle(
fileName: food.fileName,
displayName: food.displayName,
text: food.text,
))),
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: const EdgeInsets.only(top: 5.0, right: 16.0),
child: Text(
'Click when done',
style: kButtonTextStyle,
),
),
IconButton(
onPressed: () {
//Here we just pass to the passover screen, in main we set the argument to pass.
Navigator.pushNamed(context, PassoverList.id);
},
icon: Icon(FontAwesomeIcons.list),
iconSize: 30.0,
color: Colors.blueAccent,
),
],
),
uj5u.com熱心網友回復:
GridView.count用Expanded小部件包裹。
Expanded(
child: GridView.count(
primary: false, crossAxisCount: 4, shrinkWrap: true,
//scrollDirection: Axis.vertical,
//childAspectRatio: MediaQuery.of(context).size.width /
// (MediaQuery.of(context).size.height / 4),
children: [
...List.generate(44, (index) => Text(index.toString()))
],
),
),
uj5u.com熱心網友回復:
我想我只是按照控制臺中的說明/說明解決了它。大驚喜:) 我只是讓 Expanded 作為 Gridview 的父級(正如 Yeasin 上面的建議),但洗掉了 ImageView 類中的那個。我只是按照它所說的“renderObject 的所有權鏈”進行操作。
======== 小部件庫捕獲的例外 ====================================== ================== 應用父資料時拋出以下斷言。: ParentDataWidget 的使用不正確。
ParentDataWidget Expanded(flex: 1) 想要將 FlexParentData 型別的 ParentData 應用到 RenderObject,它已被設定為接受不兼容的 ParentData 型別的 ParentData。
通常,這意味著 Expanded 小部件具有錯誤的祖先 RenderObjectWidget。通常,擴展小部件直接放置在 Flex 小部件內。有問題的 Expanded 當前放置在 RepaintBoundary 小部件中。
接收到不兼容父資料的 RenderObject 的所有權鏈是:Padding ← Container ← Expanded ← ImageCircle ← RepaintBoundary ← IndexedSemantics ← NotificationListener ← KeepAlive ← AutomaticKeepAlive ← KeyedSubtree ← ?
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/375649.html
