実現したいこと
flutter dart List内の特定の値だけ更新したい
発生している問題・分からないこと
Listのデータをwhereで検索し特定の値だけ更新したいが
List内の全てのデータが更新されてしまう問題を解決したいです
dart.padで実行できます
holeNo:1のplayerNo:1のスコアだけ更新したいのですが
playerNo:1のスコアがすべて更新されてしまいます。
解決方法はありますでしょうか?
よろしくお願いします。
該当のソースコード
dart
1void main() { 2 var scoreEntity = ScoreEntity(); 3 List<PlayerDetail> playerList = []; 4 playerList.add(PlayerDetail(1,'いち',0,0,0)); 5 playerList.add(PlayerDetail(2,'に',0,0,0)); 6 playerList.add(PlayerDetail(3,'さん',0,0,0)); 7 playerList.add(PlayerDetail(4,'し',0,0,0)); 8 9 10 scoreEntity.addDetail(Detail(1,0,0,playerList)); 11 scoreEntity.addDetail(Detail(2,0,0,playerList)); 12 scoreEntity.addDetail(Detail(3,0,0,playerList)); 13 scoreEntity.addDetail(Detail(4,0,0,playerList)); 14 scoreEntity.addDetail(Detail(5,0,0,playerList)); 15 16 17 var detail = scoreEntity.detailList[0]; 18 detail.playerList.firstWhere( 19 (player) => player.playerNo == 1).score = 1; 20 21 22 for(var detail in scoreEntity.detailList){ 23 for(var player in detail.playerList){ 24 print("holeNo:" + detail.holeNo.toString() + ", playerNo:" + player.playerNo.toString() +", name:" + player.playerName + ", score:" + player.score.toString()); 25 26 27 } 28 } 29} 30 31 32class ScoreEntity { 33 34 List<Detail> detailList = []; 35 36 ScoreEntity(); 37 38 void addDetail(Detail detail) { 39 detailList.add(detail); 40 } 41 42 // Getterメソッドを追加: currentHoleInfoプロパティ 43 44} 45 46class Detail { 47 int holeNo = 0; 48 int par = 0; 49 int yard = 0; 50 List<PlayerDetail> playerList = []; 51 52 Detail(this.holeNo, this.par, this.yard, this.playerList); 53} 54 55class PlayerDetail { 56 int playerNo = 0; 57 String playerName = ''; 58 int score = 0; 59 int putts = 0; 60 int teeOrder = 0; 61 62 PlayerDetail(this.playerNo, this.playerName, this.score, this.putts, this.teeOrder); 63} 64 65 66 67 68### 試したこと・調べたこと 69- [x] teratailやGoogle等で検索した 70- [x] ソースコードを自分なりに変更した 71- [ ] 知人に聞いた 72- [ ] その他 73 74##### 上記の詳細・結果 75実行結果 76holeNo:1, playerNo:1, name:いち, score:1 77holeNo:1, playerNo:2, name:に, score:0 78holeNo:1, playerNo:3, name:さん, score:0 79holeNo:1, playerNo:4, name:し, score:0 80holeNo:2, playerNo:1, name:いち, score:1 81holeNo:2, playerNo:2, name:に, score:0 82holeNo:2, playerNo:3, name:さん, score:0 83holeNo:2, playerNo:4, name:し, score:0 84holeNo:3, playerNo:1, name:いち, score:1 85holeNo:3, playerNo:2, name:に, score:0 86holeNo:3, playerNo:3, name:さん, score:0 87holeNo:3, playerNo:4, name:し, score:0 88holeNo:4, playerNo:1, name:いち, score:1 89holeNo:4, playerNo:2, name:に, score:0 90holeNo:4, playerNo:3, name:さん, score:0 91holeNo:4, playerNo:4, name:し, score:0 92holeNo:5, playerNo:1, name:いち, score:1 93holeNo:5, playerNo:2, name:に, score:0 94holeNo:5, playerNo:3, name:さん, score:0 95holeNo:5, playerNo:4, name:し, score:0 96 97 98 99### 補足 100特になし
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。