본문 바로가기
flutter

[flutter] ListView 아이템 클릭하기

by teamnova 2024. 9. 17.
728x90

안녕하세요, 

 

오늘은 ListView의 아이템을 클릭하여 클릭한 아이템의 텍스트를 화면에 출력하는 예제를 만들어보겠습니다. 

 

 

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: '리스트뷰 클릭 예제',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: ListViewExample(),
    );
  }
}

class ListViewExample extends StatelessWidget {
  final List<String> items = List<String>.generate(20, (i) => "Item $i");

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('리스트뷰 클릭 예제'),
      ),
      body: ListView.builder(
        itemCount: items.length,
        itemBuilder: (context, index) {
          return ListTile(
            title: Text(items[index]),
            onTap: () {
              // 아이템 클릭 시 새로운 화면으로 이동
              Navigator.push(
                context,
                MaterialPageRoute(
                  builder: (context) => DetailScreen(item: items[index]),
                ),
              );
            },
          );
        },
      ),
    );
  }
}

class DetailScreen extends StatelessWidget {
  final String item;

  // 생성자를 통해 클릭된 아이템을 전달받음
  DetailScreen({required this.item});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('클릭 화면'),
      ),
      body: Center(
        child: Text(
          '클릭한 아이템 : $item',
          style: TextStyle(fontSize: 24),
        ),
      ),
    );
  }
}

 

 

시연 영상입니다. 

 

 

 

'flutter' 카테고리의 다른 글

[flutter] 이미지 추가하기  (0) 2024.09.26
[flutter] Navigator를 사용하여 화면 이동  (0) 2024.09.23
[flutter] ListView 예제  (0) 2024.09.11
[flutter] FloatingActionButton 예제  (0) 2023.02.04
[flutter] TextField만들기  (0) 2023.01.22