Advertisement
Guest User

Untitled

a guest
Feb 16th, 2020
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.16 KB | None | 0 0
  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. Future<Null> loadData() async {
  73. setState(() {
  74. loading = true;
  75. });
  76. final response = await http.get(Endpoint.baseURL);
  77. if (response.statusCode == 200) {
  78. final data = jsonDecode(response.body);
  79. setState(() {
  80. for (Map i in data) {
  81. _list.add(ResModel.fromJson(i));
  82. }
  83. loading = false;
  84. });
  85. }
  86. }
  87.  
  88. @override
  89. void initState() {
  90. super.initState();
  91. loadData();
  92. }
  93.  
  94. @override
  95. Widget build(BuildContext context) {
  96. //Ketika proses mengambil data muncul loading
  97. // if (data == null) {
  98. // return Center(
  99. // child: CircularProgressIndicator(),
  100. // );
  101. // } else if (data.length == 0) {
  102. // return Center(
  103. // child: Text("DATA KOSONG"),
  104. // );
  105. // }
  106. return Container(
  107. child: loading
  108. ? Center(
  109. child: CircularProgressIndicator(),
  110. )
  111. : ListView.builder(
  112. itemCount: _list.length,
  113. itemBuilder: (context, i){
  114. final x = _list[i];
  115. return Container(
  116. padding: EdgeInsets.all(8.0),
  117. child: Column(
  118. crossAxisAlignment: CrossAxisAlignment.start,
  119. children: <Widget>[
  120. Text(x.label)
  121. ],
  122. ),
  123.  
  124. );
  125. },
  126. ),
  127. );
  128. }
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement