現在、SingleChildScrollView 内に 7 つの GestureDetector と Containers があり、ギターのネックとノートを表しています。各コンテナーの Gesture Detector 内で、アイテム インデックスをリストに追加します。このリストを使用して、アイテムの色を変更し、選択されたことを示します。選択した項目を更新するためにコンテナーのアプリケーションを更新する必要があるという事実を除いて、すべてが現在正常に機能しています。
これが私のジェスチャー検出器とコンテナのコードです
GestureDetector(
onTap: () {
if(selectedHighE.contains(index)){
selectedHighE.remove(index);
print("removed " + index.toString() + " from " + selectedHighE.toString());
}else{
selectedHighE.add(index);
print("added " + index.toString() + " to " + selectedHighE.toString());
};
},
child: Container(
width: 50,
height: 35,
alignment: Alignment.center,
decoration: BoxDecoration(
color: _change(hiENotes, index, selectedHighE),
border: Border.all(
color:
_borderColor(hiENotes, index))),
child: Text(hiENotes[index],
style: TextStyle(
color: _textColor(hiENotes, index),
fontSize: size))),
),
したがって、私の意図は、_change() が現在のアイテムのインデックスと現在選択されているアイテムのリストを使用して、コンテナーを変更する必要があるかどうかを判断することです。ただし、前述したように、機能はありますが、onTap() の後に子コンテナーを更新する方法が必要なだけです。
前もって感謝します