Map<String, String> contactMap = {
'카리나': '010-0000-0000',
'윈터': '010-0000-0001',
'지젤': '010-0000-0002',
};
위와 같은 map을 .builder()로 뿌려주는데 키값을 기준으로 Sort하여 뿌려주려 합니다.
그래서 아래와 같이 작성했을때,
ListView.builder(
itemCount: contactMap.length,
itemBuilder: (c, i) {
List keyList = contactMap.keys.toList()..sort();
var key = keyList[i];
return ListTile(
leading: Icon(Icons.person, size: 40),
title: Row( children: [ SizedBox( width: 90, child: Text( key, style: TextStyle(fontSize: 18),)),
Text(contactMap[key].toString(), style: TextStyle(fontSize: 18))]),
);
},
)
원하는대로 잘 돌아가는데, 진한굵기로 작성한
List keyList = contactMap.keys.toList()..sort();
var key = keyList[i];
이부분을 어차피 keyList는 재활용 하지 않을거라
var key = contactMap.keys.toList()..sort()[i];
이렇게 작성하고 싶은데 안되더라고요..
(sort기능 추가 이전 var key = contactMap.keys.toList()[i]; 로 사용했을땐 문제없었습니다.)
에러문구는
This expression has a type of 'void' so its value can't be used.
Try checking to see if you're using the correct API; there might be a function or call that returns void you didn't expect.
Also check type parameters and variables which might also be void.
이렇게 나오는데 읽어봐도 이해가 되지않아요..
왜 인지 알 수 있을까요?