Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import "package:flutter/material.dart";
- import 'package:news/Article.dart';
- class NewsState extends State<NewsList> {
- final _articles = <Article>[];
- final _biggerFont = const TextStyle(fontSize: 18.0);
- Widget _buildArticles() {
- return ListView.builder(
- padding: const EdgeInsets.all(16.0),
- itemBuilder: buildListItem,
- );
- }
- Widget buildListItem(BuildContext context, int i) {
- if (i.isOdd) return Divider();
- int index = i ~/ 2;
- if (index >= _articles.length) {
- _fetchArticles();
- index = _articles.length;
- }
- return _buildRow(_articles[i]);
- }
- Widget _buildRow(Article article) {
- return ListTile(
- title: Text(article.title, style: _biggerFont)
- );
- }
- void _fetchArticles() {
- //TODO: Fetch new articles using fetch endpoint
- for (var i = 0; i < 50; i++) {
- _articles.add(new Article.fromIndex(i));
- }
- }
- @override
- Widget build(BuildContext context) {
- //TODO: load from latest
- for (var i = 0; i < 50; i++) {
- _articles.add(new Article.fromIndex(i));
- }
- return Scaffold(
- appBar: AppBar(
- title: Text("Actualtés"),
- ),
- body: _buildArticles(),
- );
- }
- }
- class NewsList extends StatefulWidget {
- @override
- NewsState createState() => NewsState();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement