我在我的應用程式中使用了一個ListWheelScrollView,我想在孩子里面顯示一些Image.networks。但這是不可能的。在第一次啟動時,我總是得到這樣的錯誤:
。
在一個空值上使用了空值檢查運算子。
StackTrace表明,這就是問題所在(來自ListWheelScrollView):
@override
double get minScrollExtent => _minScrollExtent!
double? _minScrollExtent;
有誰知道問題出在哪里,我如何才能適應?事情是這樣的,在第一次啟動后,我可以熱加載,一切都按預期作業......
。這是再現該問題的整個專案:
import 'package:flutter/material.dart'。
void main() => runApp(MyApp() );
class MyApp extends StatelessWidget{
@override
Widget build(BuildContext context) {
return MaterialApp(
標題。'Test'。
首頁。FirstScreen(),
);
}
}
class FirstScreen extends StatefulWidget{
@override
_FirstScreenState createState() => _FirstScreenState();
}
class _FirstScreenState extends State< FirstScreen> {
@overridefinal items = [1, 2, 3, 4, 5, 6, 7, 8】。]
return Material(
孩子。GestureDetector(
onTap: () {},
child: Padding(
padding: EdgeInsets.symmetric(izont: 50)。
child: ListWheelScrollView.useDelegate(
itemExtent: 300,
物理學。FixedExtentScrollPhysics()。
透視。0.0015。
useMagnifier: false。
onSelectedItemChanged: (index) {
print(index)。
},
childDelegate: ListWheelChildBuilderDelegate(
builder: (context, index) => Container(
高度。300。
寬度: 200,
color: Colors.red,
孩子。Image.network(
'https://flif.info/example-images/fish.png',
高度。160。
寬度: 160,
),
),
childCount: items.length,
),
),
),
),
);
}
}
uj5u.com熱心網友回復:
對于那些偶然發現這個問題的人來說,這里有一些在GitHub上建議的臨時變通方法:
。這個問題是由于小部件沒有尺寸。(例如,加載一個網路圖片)。) 一個有尺寸的放置器應該可以避免這個問題。
FYI,我找到了一個解決方法。使用一個
FutureBuilder。你可以把你的小部件包在里面,它就會顯示出來而不出現例外。你可以考慮使用一個SynchronousFuture來使它不閃動。
uj5u.com熱心網友回復:
正如提到的這里,這將解決這個問題:
@override
double get minScrollExtent => _minScrollExtent;
double _minScrollExtent = 0.0;
@override
double get maxScrollExtent => _maxScrollExtent;
double _maxScrollExtent = 0.0;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/315725.html
標籤:
上一篇:損壞的pip安裝僅適用于sudo
