Curl Global Community

Full Version: ListViewにてどの行をクリックしても最終行の値が表示されてしまう
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
ボタン押下時にListViewにListViewItemDataを追加するようなロジックを作成したのですが、
実際に実行してみると、2行目のリストを押下すると 「10行目がクリックされました!」
と出力されてしまいます。

2行目のリストを押下した際に「2行目がクリックされました!」とするには
どうしたらよいでしょうか?
Code:
{self.kensakucb.add-event-handler
    {on Action do
        {for i:int = 0 to 9 do
            {self.b-list-view.append
                {ListViewItemData
                    label = i & "行目" ,
                    {on Action do
                        {popup-message i & "行目がクリックされました!" }
                    }
                }
            }
        }
    }
}
以下のように繰り返し処理内で def宣言で iの値を取得しておき、
これを利用すれば動きますので解決できるのではないでしょうか。

Code:
{self.kensakucb.add-event-handler
    {on Action do
        {for i:int = 0 to 10 - 1 do
            def j = i
            {self.b-list-view.append
                {ListViewItemData
                    label = j & "行目" ,
                    {on Action do
                        {popup-message j+1 & "行目がクリックされました!" }
                    }
                }
            }
        }
    }
}