You are on page 1of 6

Mengirim Nilai antar Halaman

1. Masukan kode dibawah

import 'package:flutter/material.dart';

TextEditingController nilainama = TextEditingController();


TextEditingController nilaialamat = TextEditingController();

void main() {
  runApp(const MaterialApp(
    title: 'Navigasi Halaman',
    home: HalamanSatu(),
  ));
}

class HalamanSatu extends StatelessWidget {


  const HalamanSatu({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: const Text('Halaman Satu'),
        ),
        body: Center(
            child: Column(children: <Widget>[
          Container(
              child: TextField(
            controller: nilainama,
            style: TextStyle(fontSize: 24, color: Colors.black),
          )),
          Container(
              child: TextField(
            controller: nilaialamat,
            style: TextStyle(fontSize: 24, color: Colors.black),
          )),
          Container(
            margin: EdgeInsets.all(20),
            child: ElevatedButton(
                child: const Text('Ke Halaman Dua'),
                onPressed: () {
                  Navigator.of(context).push(MaterialPageRoute(
                      builder: (context) => HalamanDua(
                          nama: nilainama.text, alamat: nilaialamat.text)));
                }),
          ),
        ])));
  }
}

class HalamanDua extends StatelessWidget {


  String nama, alamat;
  HalamanDua({Key? key, required this.nama, required this.alamat})
      : super(key: key);
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Center(
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              Text('Name: $nama'),
              Text('Alamat: $alamat'),
            ],
          ),
        ),
      ),
    );
  }
}

@override
Widget build(BuildContext context) {
//  final todo = ModalRoute.of(context)!.settings.arguments as Todo;
  return Scaffold(
      appBar: AppBar(
        title: const Text("Halaman Dua"),
      ),
      body: Center(
          child: Column(children: <Widget>[
        Container(
          child: new Text("Halaman Dua"),
        ),
        Container(
          margin: EdgeInsets.all(20),
          child: ElevatedButton(
            child: const Text('Ke Halaman Satu'),
            onPressed: () {
              Navigator.push(
                context,
                MaterialPageRoute(builder: (context) => const HalamanSatu()),
              );
            },
          ),
        ),
      ])));
}

Output
Tugas

You might also like