Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ScreenTagihan extends StatefulWidget {
- @override
- _ScreenTagihanState createState() => _ScreenTagihanState();
- }
- class _ScreenTagihanState extends State<ScreenTagihan> {
- final scaffoldKey = GlobalKey<ScaffoldState>();
- List tagihanPelanggan;
- http.Client client;
- ///getData from Respul API
- Future getDataByInstalasi() async {
- final String url = "$URL_INFOAIR";
- final data = {
- "instalasi": "020723",
- };
- final response = await http.post(url, body: data);
- if (response.statusCode == 200) {
- var regex = RegExp(r'<[\s\S]*>', multiLine: true);
- var result = response.body.replaceAll(regex, '');
- setState(() {
- tagihanPelanggan = json.decode(result);
- });
- debugPrint(tagihanPelanggan.toString());
- } else {
- throw Exception('');
- }
- }
- @override
- void initState() {
- super.initState();
- getDataByInstalasi();
- }
- @override
- Widget build(BuildContext context) {
- final appBar = AppBar(
- title: Text('Data Tagihan Pelanggan'),
- elevation: 5.0,
- );
- final items = tagihanPelanggan.map((it) {
- return ListTile(
- leading: CircleAvatar(
- backgroundColor: Colors.blue,
- child: Text(
- '${it['nama'].toString().split(' ')[0].substring(0, 1)}${it['nama'].toString().split(' ')[1].substring(0, 1)}'),
- ),
- title: Text('${it['nama']}'),
- subtitle: Text('${it['alamat']}'),
- );
- }).toList();
- final dividerItem = ListTile.divideTiles(
- tiles: items, context: context, color: Colors.blue);
- final body = ListView.builder(
- itemCount: items.length,
- itemBuilder: (BuildContext context, int index) {
- return dividerItem.elementAt(index);
- });
- return Scaffold(
- key: scaffoldKey,
- appBar: appBar,
- body: tagihanPelanggan.length > 0
- ? body
- : Center(
- child: Text('Data masih kosong'),
- ),
- );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement