MitraIde

News

Cari Di Situs Ini

Rabu, 31 Januari 2024

Membuat Tombol untuk berpindah halaman dan variabel global di Flutter

Hallo kali ini kita akan membuat Membuat Tombol untuk berpindah halaman dan variabel global di Flutter,

Pertama kita buat 3 file .dart seperti berikut ini :


dan masing masing file adalah seperti berikut

main.dart:

import 'package:flutter/material.dart';
import 'halaman_baru.dart';
import 'global_variables.dart';

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

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Navigasi Halaman',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: HalamanSaatIni(),
);
}
}



// ignore: non_constant_identifier_names
class HalamanSaatIni extends StatelessWidget {
@override
Widget build(BuildContext context) {
GlobalVariables().globalString = "Nilai Baru";
String nilai = GlobalVariables().globalString;
return Scaffold(
appBar: AppBar(
title: Text('Halaman Saat Ini'),
),
body: Center(
child: ElevatedButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => HalamanBaru()),
);
},
child: Text(nilai),
),
),
);
}
}



halaman_baru.dart:

import 'package:flutter/material.dart';
import 'global_variables.dart';


class HalamanBaru extends StatelessWidget {
@override
Widget build(BuildContext context) {
String nilai2 = GlobalVariables().globalString;
return Scaffold(
appBar: AppBar(
title: Text('Halaman Baru'),
),
body: Center(
child: Text(nilai2),
),
);
}
}


global_variables.dart:

class GlobalVariables {
//static final GlobalVariables _instance = GlobalVariables._internal();
static GlobalVariables _instance = GlobalVariables._internal();

factory GlobalVariables() => _instance;

GlobalVariables._internal();

// Deklarasi variabel global sebagai variabel private
String _globalString = "Nilai Variabel Global";
// Getter untuk mendapatkan nilai variabel global
String get globalString => _globalString;
// Setter untuk mengubah nilai variabel global
set globalString(String newValue) {
_globalString = newValue;
}


String _globalString2 = "Nilai Variabel Global 2";
// Getter untuk mendapatkan nilai variabel global
String get globalString2 => _globalString2;
// Setter untuk mengubah nilai variabel global
set globalString2(String newValue) {
_globalString2 = newValue;
}

}



dan hasilnya adalah seperti berikut :