問題描述
無法設置回調函數。錯誤說:“DropDown”必須有一個方法體,因為“ListLayout”不是抽象的 (Unable to set callback function . Error Says: 'DropDown' must have a method body because 'ListLayout' isn't abstract)
我有一個下拉類和一個列表視圖。我想在更改下拉項時更改列表視圖的狀態。為此,我必須從下拉類中設置列表狀態。我了解了回調函數並試圖實現它。但是我遇到了一個錯誤。
我的下拉類代碼:
class DropDown extends StatefulWidget {
final Function _callBack;
DropDown({@required void callBack()}) :
_callBack = callBack;
@override
_DropDownState createState() => _DropDownState();
}
ListLayout 代碼在這裡:
class ListLayout extends StatefulWidget {
DropDown(dropDownItemChanged );//Error comes here saying 'DropDown' must have a method body
// because 'ListLayout' isn't abstract. Try making 'ListLayout' abstract, or adding a body to
//'DropDown'.
@override
_ListLayoutState createState() => _ListLayoutState();
}
class _ListLayoutState extends State<ListLayout> {
void dropDownItemChanged (String data) {
setState(() {
....
}
}
});
}
@override
Widget build(BuildContext context) {
return ....;
}
}
如果有人能回答,我將不勝感激這個
參考解法
方法 1:
I am sorry, I was not supposed to instantiate DropDown from ListLayout , because DropDown is not a child of ListLayout. May be this helps someone.