我想創建運行任務的函式,例如向串列添加值,但不回傳任何內容。當我嘗試使用下面的代碼執行此操作時,在 Widget 構建代碼塊中呼叫 addToList() 后,我不斷收到 _TypeError(型別“Null”不是“Widget”型別的子型別)。我的目標是首先將值添加到串列中,然后從串列中洗掉重復項,然后從最早時間到最晚時間對串列進行排序。我會很感激任何幫助!下面是我的函式和 Widget 構建代碼塊的代碼:
addToList()
if (dbc != false) {
times.add(dbc2);
};
if (ssc!= false) {
times.add(ssc2);
};
if (egc!= false) {
times.add(egc2);
};
if (dahc!= false) {
times.add(dahc2);
};
if (gfac!= false) {
times.add(gfac2);
};
if (trc!= false) {
times.add(trc2);
};
if (tsnc!= false) {
times.add(tsnc2);
};
if (yc!= false) {
times.add(yc2);
};
if (cac != false) {
times.add(cac2);
};
if (myoex!= false) {
times.add(myoex2);
};
removeDuplicates(l) {
l.toSet().toList();
}
listOrder(l) {
l.sort((a,b){
return DateTime.parse(a).compareTo(DateTime.parse(b));
});
}
matchableTimes() {
while (i<times.length){
time = times[0];
if (time == dbt2) {
dbt22 = true;
};
if (time == sast2 ) {
sasc2 = true;
};
i ;
}
}
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
centerTitle: true,
title: const Text('Hello!'),
),
body: Column(
children: <Widget>[
const Text(
'Here: ',
style: TextStyle(fontSize: 30),
textAlign: TextAlign.left,
),
addToList(),
removeDuplicates(times),
listOrder(times),
matchableTimes(),
],
),
);
} ```
uj5u.com熱心網友回復:
您在列中傳遞了一個函式 addTodoList() ,這是不可能的,因為它不是小部件
uj5u.com熱心網友回復:
您能否更清楚地了解您要達到的目標。你可以參考這個尋求幫助。
如前所述,小部件樹只能回傳小部件。您的函式 addtoList()不回傳任何內容。
很高興嘗試幫助您解決問題,但您需要更加清楚。
Flutter 檔案有很多有用的資訊,我鼓勵你參考,它們確實幫助我成為了一個更好的開發者 :)
uj5u.com熱心網友回復:
請在您的問題中更新addToList()并build()提供完整的代碼。我想我可以幫助你。如果您已經更新了該問題,請回復此答案。
uj5u.com熱心網友回復:
有時我們可能會由于型別不匹配而遇到此類錯誤。例如,年份是一個數字,但我們可以要求寫一個字串,我的意思是一個 TEXT。在類似的情況下,您可以使用 .toString。例如;
print (mesaj); print ("Do?um y?l? : " dogumYili.toString()); print("Oran : " oran.toString());
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/512629.html
標籤:扑功能小部件类型错误
上一篇:如何多次呼叫函式?
