問題:當點擊心形圖示時,它應該將圖示型別從空的心形變為填充的心形圖示。 此外,當心形圖示被點擊時,它應該顯示一種紅色,但也沒有顯示出來
。請在下面找到特定部件的相關代碼
。_pairList是正在呈現的隨機英語單詞的串列。 _saved是一個集合,將包含通過點擊心形圖示選擇的值
。WordPair是一個已經匯入的dart庫,它可以獲得隨機的英文單詞。
final _pairList = <WordPair> [];
final _saved = <WordPair>{};
小工具 wordListHolder() {
return ListView.builder(
padding: const EdgeInsets.all(26.0)。
itemBuilder。(BuildContext context, int index) {
if (index >= _pairList.length) {
_pairList.addAll(generateWordPairs().take(10)); /*4 */
}
final _getword = WordPair.random()。
final alreadySaved = _saved.contains(_getword);
return Column(
children: <Widget>[
ListTile(
標題。Text(_getword.asPascalCase),
尾數。Icon(
alreadySaved ? Icons.favorite : Icons.favorite_border,// main concern
color: alreadySaved ? Colors.red : null,// main concern。
),
onTap: () {
setState(() {
if (readySaved == true) {
_saved.remove(_getword)。
} else {
_saved.add(_getword);
}
});
},
),
分割器()。
],
);
},
);
}
uj5u.com熱心網友回復:
試試這個:
final _getword = WordPair.random()。
if (index >= _pairList.length) {
_pairList.add(_getword)。
}
我認為你的_pairList和_saved串列中應該有相同的專案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/315700.html
標籤:
