【发布时间】:2021-07-02 07:10:57
【问题描述】:
我从服务器获取数据并通过 listView - 小部件和网页浏览将其呈现给用户, 目标是加载假设 20 个问题,在列表视图中显示 3 个并向右滑动以加载下一个 3,依此类推..
int addToIndex=0;
List<QuestionViewV1> questions = []; //Here I load relevant data from getData method...
@override
void initState() {
_getData();
}
...child: PageView.builder(
controller: _pageController,
onPageChanged: _onPageChanged,
itemCount: questions.length,
itemBuilder: (BuildContext context, int index) {
return _pageView(addToIndex);
},
),
这里我返回 Widget 巫婆代表页面和列表视图...
Widget _pageView(addToIndex) {
return Column(
children: [
Expanded(
child: Padding(
padding: const EdgeInsets.only(top: 15.0),
child: Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(10))),
elevation: 4,
// margin: EdgeInsets.all(15.0),
child: ListView.builder(
itemBuilder: (BuildContext ctx, int index) {
return listItem(
ctx,
index,
"User " + questions[index+addToIndex].user.userName,
_timeAgo(index+addToIndex),
questions[index+addToIndex].id,
questionTitle:
questions[index+addToIndex].title);
},
itemCount: 3,
),
),
),
),
],
);
}
已编辑:这是 _getData():
_getData() async {
ResourceFetchingAuthority _resourceFetchingAuthority =
ResourceFetchingAuthority(
configuration: ResourceFetchingConfiguration(
maxReturnedResourcesForFirstPage: 12,
...
ResourceFetchingResult unansweredQuestionsResult =
await _resourceFetchingAuthority.fetchResources();
/* List<QuestionViewV1>*/
questions = unansweredQuestionsResult.resources.cast<QuestionViewV1>();
}
_onPageChanged(int index) {
setState(() {
addToIndex=addToIndex+3;
});
所以在给定的示例中,我将在列表视图中每页得到 3 个问题,但每个其他页面都会有相同的问题集,我需要在滑动时加载 3 个新问题...(获取的问题数量在 getData 方法中定义.(12) )
【问题讨论】:
标签: android flutter listview load