꿈꾸는 시스템 디자이너

Flutter Example - Navigation & routing | Return data from a screen 본문

Tutorial/Flutter with App

Flutter Example - Navigation & routing | Return data from a screen

독행소년 2019. 9. 27. 00:40
import 'package:flutter/material.dart';

class NaviGetData extends StatelessWidget {
  final scaffoldKey = GlobalKey<ScaffoldState>();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      key: scaffoldKey,
      appBar: AppBar(title: Text("First Screen")),
      body: Center(
        child: RaisedButton(
          child: Text("Launch Screen"),
          onPressed: () {
            receiveData(context);
          },
        ),
      ),
    );
  }

  receiveData(BuildContext context) async {
    String result = await Navigator.push(
        context, MaterialPageRoute(builder: (context) => NaviReturnData()));
    scaffoldKey.currentState
    ..hideCurrentSnackBar()
    ..showSnackBar(SnackBar(
      content: Text("Received Data: $result"),
    ));
  }
}

class NaviReturnData extends StatelessWidget {
  List<String> fruits = ["Apples", "Oranges", "Bananas"];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text("Second Screen")),
      body: ListView.builder(
        itemCount: fruits.length,
        itemBuilder: (context, index) {
          return Card(
            child: ListTile(
              title: Text("${fruits[index]}"),
              onTap: () {
                Navigator.pop(context, fruits[index]);
              },
            ),
          );
        },
      ),
    );
  }
}

 

 

▶ Go to Table of Contents | 강의 목차로 이동


※ This example is also available in the Flutter Code Examples app. | 본 예제는 Flutter Code Examples 앱에서도 제공됩니다.

 

Flutter Code Examples - Google Play 앱

Are you a beginner at Flutter? Check out the various features of Flutter through the demo. Source code for all demos is also provided.

play.google.com

Comments