無法設置回調函數。錯誤說:“DropDown”必須有一個方法體,因為“ListLayout”不是抽象的 (Unable to set callback function . Error Says: 'DropDown' must have a method body because 'ListLayout' isn't abstract)


問題描述

無法設置回調函數。錯誤說:“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.

(by BensalBensal)

參考文件

  1. Unable to set callback function . Error Says: 'DropDown' must have a method body because 'ListLayout' isn't abstract (CC BY‑SA 2.5/3.0/4.0)

#dart #Flutter






相關問題

如何將數據傳遞給有狀態的小部件 (How to pass data to stateful widget)

顫振無線電值在步進器中沒有改變 (Flutter Radio Value not Changing in Stepper)

如何在顫動中製作響應式播放按鈕? (How to make a responsive play button in flutter?)

如何將數據數組轉換為在顫振/飛鏢中展開或折疊的小部件列表? (How to convert an array of data to a list of widgets with expand or fold in flutter/dart?)

Flutter - 迭代異步/未來列表 (Flutter - iterate over an asynchrous/future list)

使用顫振將圖像作為blob存儲在mysql數據庫中 (Storing image's as blob in mysql database with flutter)

如何在顫動中將視頻播放器浮動在 youtube 等所有頁面上? (How to float a video player over all pages like youtube in flutter?)

無法設置回調函數。錯誤說:“DropDown”必須有一個方法體,因為“ListLayout”不是抽象的 (Unable to set callback function . Error Says: 'DropDown' must have a method body because 'ListLayout' isn't abstract)

Flutter:如何在沒有評級動作的情況下實現評級欄 (Flutter : How to implement rating bar without rating action)

設置狀態內存洩漏 (set state memory leak)

Flutter 視頻播放器不接受自簽名 https 連接 (Flutter video player wont accept self signed https connection)

為什麼有時上下文被替換為下劃線或“_”? (Why sometimes context is being replace as underscore or "_"?)







留言討論