我正在開發一個由三個螢屏組成的 flutter 應用程式,第一個是串列視圖小部件,我可以從串列變數中獲取資料,如下所示:
這是串列視圖:
child: ListView.builder(
padding: EdgeInsets.only(
top: 10.0,
),
itemCount: data.length,
itemBuilder: (context, index) {
final 2data =data[index];
return GestureDetector(
onTap: () {
Navigator.push(context,
MaterialPageRoute(builder: (context) {
return dataSecondScreen(data: 2data,);
}));
},
這是我定義資料的串列
final List<Data> data = [ //Data is a class
Data(
1, //id
"Eli", //name
18, //years old
),
Data(
2, //id
"Axel", //name
23, //years old
)]
當我按下一個串列視圖專案時,它會將我重定向到另一個螢屏,它會向我顯示串列的所有資訊(取決于我之前按下的索引,我的意思是,如果我按下索引為 1 的專案,則在第二個螢屏中我可以看到索引為 1) 的專案的資訊
這是我的問題,在第二個螢屏中,我有索引為 1 的專案的所有資訊,我有一個可點擊的影像,我想要這樣的東西:如果我點擊那個影像,我想改變狀態(或移動到另一個螢屏)具有不同的索引,例如,如果我在具有索引 1 的所有資訊的螢屏中,我希望能夠單擊影像并將索引 1 螢屏的資訊更改為索引 2(或 3,4,5...)。那么,我如何能夠從串列中選擇和顯示我想要的資訊?
uj5u.com熱心網友回復:
您應該使用狀態管理包以更好的性能和更容易的開發來管理您的狀態。以下是一些可以查看的狀態管理包:
1-https://pub.dev/packages/flutter_bloc
2-https://pub.dev/packages/provider
第一個更大,適合大型專案,第二個是中小型專案。盡管在您的專案中使用它們中的每一個都很好。
uj5u.com熱心網友回復:
我認為您想為此目的使用 Widget PageView:https ://api.flutter.dev/flutter/widgets/PageView-class.html
您可以使用 PageView.builder 遍歷專案串列。
例如:
假設您的資料如下所示:
class Profile {
final int id;
final String name;
final int age;
Profile(this.id, this.name, this.age);
}
和一個專案串列:
List<Profile> data = [Profile(1, "Eli", 18), Profile(2, "Axel", 23)];
然后在頁面的構建方法中:
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: PageView.builder(
itemBuilder: (context, index) {
return Text(data[index].name);
},
itemCount: data.length,
),
);
}
如果向左滾動,它將轉到 data[2],如果向右滾動,它將轉到 data[1]。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/374700.html
