SHARE
TWEET

Untitled

a guest Feb 16th, 2020 87 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import 'dart:convert';
  2.  
  3. import 'package:http/http.dart' as http;
  4. import 'package:flutter/material.dart';
  5. import 'package:muhammad_arif/core/config/endpoint.dart';
  6. import 'package:muhammad_arif/core/model/data_model.dart';
  7. import 'package:muhammad_arif/core/services/data_services.dart';
  8.  
  9. class HomeScreen extends StatelessWidget {
  10.   @override
  11.   Widget build(BuildContext context) {
  12.     return Scaffold(
  13.       appBar: AppBar(
  14.         backgroundColor: Colors.orange,
  15.         title: Text(
  16.           "BimaSakti",
  17.           style: TextStyle(color: Colors.white),
  18.         ),
  19.       ),
  20.       body: HomeBody(),
  21.     );
  22.   }
  23. }
  24.  
  25. class HomeBody extends StatelessWidget {
  26.   @override
  27.   Widget build(BuildContext context) {
  28.     return Container(
  29.         padding: EdgeInsets.all(20),
  30.         child: Column(
  31.           children: <Widget>[
  32.             //Bagian untuk title
  33.             Text(
  34.               "List",
  35.               style: TextStyle(
  36.                   fontSize: 18,
  37.                   color: Colors.black87,
  38.                   fontWeight: FontWeight.bold),
  39.             ),
  40.             SizedBox(height: 20),
  41.             //Widget untuk daftar makanan
  42.             ListData()
  43.           ],
  44.         ));
  45.   }
  46. }
  47.  
  48. class ListData extends StatefulWidget {
  49.   @override
  50.   _ListDataState createState() => _ListDataState();
  51. }
  52.  
  53. class _ListDataState extends State<ListData> {
  54.   // List<DataModel> data;
  55.  
  56.   // void loadData() async {
  57.   //   print('Tess');
  58.   //   var _data = await DataServices.getAll();
  59.   //   print(_data.toString());
  60.   //   setState(() {
  61.   //     data = _data;
  62.   //   });
  63.   // }
  64.  
  65.   // @override
  66.   // void initState() {
  67.   //   super.initState();
  68.   //   this.loadData();
  69.   // }
  70.   List<ResModel> _list = [];
  71.   var loading = false;
  72.   void loadData() async {
  73.     final response = await http.get(Endpoint.baseURL);
  74.     if (response.statusCode == 200) {
  75.       final data = jsonDecode(response.body);
  76.       setState(() {
  77.         for (Map i in data) {
  78.           _list.add(ResModel.fromJson(i));
  79.         }
  80.       });
  81.     }
  82.   }
  83.  
  84.   @override
  85.   void initState() {
  86.     super.initState();
  87.     loadData();
  88.   }
  89.  
  90.   @override
  91.   Widget build(BuildContext context) {
  92.     //Ketika proses mengambil data muncul loading
  93.     // if (data == null) {
  94.     //   return Center(
  95.     //     child: CircularProgressIndicator(),
  96.     //   );
  97.     // } else if (data.length == 0) {
  98.     //   return Center(
  99.     //     child: Text("DATA KOSONG"),
  100.     //   );
  101.     // }
  102.     return Container(
  103.       child: loading
  104.           ? Center(
  105.               child: CircularProgressIndicator(),
  106.             )
  107.           : ListView.builder(
  108.             itemCount: _list.length,
  109.             itemBuilder: (context, i){
  110.               final x = _list[i];
  111.               return Container(
  112.                 padding: EdgeInsets.all(8.0),
  113.                 child: Column(
  114.                   crossAxisAlignment: CrossAxisAlignment.start,
  115.                   children: <Widget>[
  116.                     Text(x.label)
  117.                   ],
  118.                 ),
  119.  
  120.               );
  121.             },
  122.           ),
  123.     );
  124.   }
  125. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top