Flutter: как добавить страницу в будущие строители ListViewAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Flutter: как добавить страницу в будущие строители ListView

Сообщение Anonymous »

Я новичок в трепете/дротике. Я пытаюсь добавить лицензию в свой список. Я получаю свои данные через Restapi. Весь пример, который я видел в Интернете на странице, не использует будущий строитель. Вот мой код: < /p>
Я смог обнаружить, когда свиток доходит до нижней части страницы, но мне трудно загружать больше транзакций в старые списки. < /P>
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:xsocial/utils/my_drawer.dart';
import 'package:xsocial/utils/transaction_history_tile.dart';
import 'package:http/http.dart' as http;

class TransactionHistory extends StatefulWidget {
const TransactionHistory({super.key});

@override
State createState() => _TransactionHistoryState();
}

class _TransactionHistoryState extends State {
final _controller = ScrollController();
int page = 1;

Future getListData() async{
final res = await http.get(Uri.parse('http://194.143.45.195/myappi/cash-transaction-history'));
var resBody = jsonDecode(res.body);
return resBody;
}

@override
void initState() {
super.initState();

//Setup the listener.
_controller.addListener(() {
if (_controller.position.atEdge) {
bool isTop = _controller.position.pixels == 0;
if (isTop) {
print('At the top');
} else {
print('At the bottom');
//Load more data
page = page + 1;
getData(int page);
}
}
});
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(
'Transaction History',
style: TextStyle(fontWeight: FontWeight.bold),
),
),
drawer: MyDrawer(),

body: Column(
mainAxisSize: MainAxisSize.max,
children: [

//Search bar
SizedBox(height: 15.0),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 15.0),
child: Container(
decoration: BoxDecoration(
color: Colors.grey[200],
borderRadius: BorderRadius.circular(7),
),
child: TextField(
decoration: InputDecoration(
prefixIcon: Icon(Icons.search),
border: InputBorder.none,
hintText: 'Search transactions by ID',
),
),
),
),
SizedBox(height: 15.0),

FutureBuilder(
//future: getListData(),
future: getListData(),
builder: (ctx, snapshot) {
// Checking if future is resolved or not
if (snapshot.connectionState == ConnectionState.done) {
// If we got an error
if (snapshot.hasError) {
return Center(
child: Text(
'${snapshot.error} occurred',
style: TextStyle(fontSize: 18),
),
);

// if we got our data
} else if (snapshot.hasData) {
// Extracting data from snapshot object
final data = snapshot.data as List;
return TransactionHistoryTile(list: data, scrollController: _controller);
}
}

// Displaying LoadingSpinner to indicate waiting state
return Center(
child: CircularProgressIndicator(),
);
}
),
],
),
);
}
}


Подробнее здесь: https://stackoverflow.com/questions/784 ... r-listview
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»