Advertisement
Guest User

Untitled

a guest
Feb 16th, 2020
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.08 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. 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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement