List.map()から繰り返しインデックスを取得する。
2023-11-18 17:51:12
質問
文字のリストを反復処理し、中のカードを画面上に配置する処理を"map"クラスで書きました。
コードでは、行を作り、"map"を使ってカード上のuserBoardを全て画面に出力しています。私は内部にいくつかのロジックを追加したいので、要素のidを取得する必要があります(テーピングイベント用)。 そのような方法はありますか?
実は、userBoard上の要素の特定のインデックスを取得したいのです。
コードです。
Widget build(BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
Row(
children: userBoard
.map((element) => Stack(children: <Widget>[
Align(
alignment: Alignment(0, -0.6),
child: GestureDetector(
onTap: (() {
setState(() {
// print("element=${element.toString()}");
// print("element=${userBoard[element]}");
});
}),
child: SizedBox(
width: 40,
height: 60,
child: Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(5.0),
),
child: Center(
child: Text(element,
style: TextStyle(fontSize: 30)),
)),
),
),
)
]))
.toList(),
)
],
),
}
画像 - 各カードはマップの"要素"である。関数onTapのインデックスを取得したい。
どのように解決するのですか?
インデックスにアクセスするために、リストをマップに変換する必要があります。 asMap 演算子を使ってマップに変換する必要があります。
例
final fruitList = ['apple', 'orange', 'mango'];
final fruitMap = fruitList.asMap(); // {0: 'apple', 1: 'orange', 2: 'mango'}
// To access 'orange' use the index 1.
final myFruit = fruitMap[1] // 'orange'
// To convert back to list
final fruitListAgain = fruitMap.values.toList();
あなたのコード
userBoard.asMap().map((i, element) => MapEntry(i, Stack(
GestureDetector(onTap: () {
setState(() {
// print("element=${element.toString()}");
// print("element=${userBoard[i].toString()}");
});
}),
))).values.toList();
関連
-
[解決済み] MIPSで階乗を行うコードはどのように書くのですか?
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] リストの最後の要素を取得する方法
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] 配列の反復処理に "for...in "を使用するのは、なぜ良くないのでしょうか?
-
[解決済み] インデックスを指定してリストから要素を削除する方法
-
[解決済み] 辞書から要素を削除する
-
[解決済み】整数の範囲内で反復処理する方法はありますか?
-
[解決済み] Flutter : ListViewにヘッダー列を追加する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Angular 2 formArraysでname属性が指定されていないコントロールが見つからない。
-
[解決済み] MIPSで階乗を行うコードはどのように書くのですか?
-
[解決済み] GAMSでマクロ/ループを作成する
-
[解決済み] Angular 2 formArraysに指定されていないname属性を持つコントロールが見つからない
-
[解決済み] マップの全キーに対する反復処理
-
[解決済み】整数の範囲内で反復処理する方法はありますか?
-
[解決済み] Kotlin の `forEach` における `break` と `continue` について
-
[解決済み] Dartでインデックスと値でリストを列挙またはマップする
-
[解決済み] LuaのFor Loop
-
[解決済み] ループやスイッチに対応する内部構造から外部ループを切り離す方法