Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'dart:convert';
- import 'package:http/http.dart' as http;
- import 'package:flutter/material.dart';
- import 'package:muhammad_arif/core/config/endpoint.dart';
- import 'package:muhammad_arif/core/model/data_model.dart';
- import 'package:muhammad_arif/core/services/data_services.dart';
- class HomeScreen extends StatelessWidget {
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- appBar: AppBar(
- backgroundColor: Colors.orange,
- title: Text(
- "BimaSakti",
- style: TextStyle(color: Colors.white),
- ),
- ),
- body: HomeBody(),
- );
- }
- }
- class HomeBody extends StatelessWidget {
- @override
- Widget build(BuildContext context) {
- return Container(
- padding: EdgeInsets.all(20),
- child: Column(
- children: <Widget>[
- //Bagian untuk title
- Text(
- "List",
- style: TextStyle(
- fontSize: 18,
- color: Colors.black87,
- fontWeight: FontWeight.bold),
- ),
- SizedBox(height: 20),
- //Widget untuk daftar makanan
- ListData()
- ],
- ));
- }
- }
- class ListData extends StatefulWidget {
- @override
- _ListDataState createState() => _ListDataState();
- }
- class _ListDataState extends State<ListData> {
- // List<DataModel> data;
- // void loadData() async {
- // print('Tess');
- // var _data = await DataServices.getAll();
- // print(_data.toString());
- // setState(() {
- // data = _data;
- // });
- // }
- // @override
- // void initState() {
- // super.initState();
- // this.loadData();
- // }
- List<ResModel> _list = [];
- var loading = false;
- void loadData() async {
- final response = await http.get(Endpoint.baseURL);
- if (response.statusCode == 200) {
- final data = jsonDecode(response.body);
- setState(() {
- for (Map i in data) {
- _list.add(ResModel.fromJson(i));
- }
- });
- }
- }
- @override
- void initState() {
- super.initState();
- loadData();
- }
- @override
- Widget build(BuildContext context) {
- //Ketika proses mengambil data muncul loading
- // if (data == null) {
- // return Center(
- // child: CircularProgressIndicator(),
- // );
- // } else if (data.length == 0) {
- // return Center(
- // child: Text("DATA KOSONG"),
- // );
- // }
- return Container(
- child: loading
- ? Center(
- child: CircularProgressIndicator(),
- )
- : ListView.builder(
- itemCount: _list.length,
- itemBuilder: (context, i){
- final x = _list[i];
- return Container(
- padding: EdgeInsets.all(8.0),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: <Widget>[
- Text(x.label)
- ],
- ),
- );
- },
- ),
- );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement