class _RandomWordsState extends State<RandomWords> {
final List<String> _suggestions = [' Cleaning a', 'cleaning b','Cleaning c','Cleaning d','cleaning e'];
final _saved = <String>{};
final _biggerFont = TextStyle(fontSize: 18.0);
Widget _buildSuggestions() {
return ListView.builder(
padding: EdgeInsets.all(16.0),
itemCount: _suggestions.length,
itemBuilder: (context, i) {
if (i.isOdd) return Divider();
final index = i ~/ 2;
return _buildRow(_suggestions[index]);
});
}
这是我正在传递的列表,但没有将完整列表作为输出。 请帮忙!
答案 0 :(得分:0)
您添加分隔符的手动逻辑与您显示项目的正常逻辑混乱。你可以调试它并找出哪里出错了。这将是一次很好的学习体验。
但是,如果您想在项目之间设置分隔线,请不要尝试自己动手,请使用 ListView.separated
(请参阅 documentation)而不是 ListView.builder
。
答案 1 :(得分:0)
使用 List.separated,更多细节见文档。
class _RandomWordsState extends State<RandomWords> {
final List<String> _suggestions = [' Cleaning a', 'cleaning b','Cleaning c','Cleaning d','cleaning e'];
final _saved = <String>{};
final _biggerFont = const TextStyle(fontSize: 18.0);
Widget _buildSuggestions() {
return ListView.separated(
padding: const EdgeInsets.all(16.0),
itemCount: _suggestions.length,
itemBuilder: (context, i) => _buildRow(_suggestions[i]) , separatorBuilder: (context, index) => const Divider(),);
}
}