Skip to content

Lists

A widget for displaying scrollable lists of items with custom content in Fyne.

Show Code
package main
import (
"fmt"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/widget"
)
func main() {
a := app.New()
w := a.NewWindow("Collection List")
// Our data source
data := []string{"Apples", "Bananas", "Cherries", "Dates", "Elderberries"}
// Create the list
list := widget.NewList(
func() int {
return len(data) // length of items
},
func() fyne.CanvasObject {
// Template widget for each row
return widget.NewLabel("template")
},
func(i widget.ListItemID, o fyne.CanvasObject) {
// Set content for each row
o.(*widget.Label).SetText(fmt.Sprintf("%d. %s", i, data[i]))
},
)
// Handle item tapped
list.OnSelected = func(id widget.ListItemID) {
fmt.Println("Selected:", data[id])
}
w.SetContent(list)
w.Resize(fyne.NewSize(300, 200))
w.ShowAndRun()
}