要顯示每個專案的組態檔,我需要在用戶單擊下一頁(此處稱為 PlayPage.dart)的每個專案時顯示相同的影像(對應于相同的 ID),該部分被認為是cover Main Page) 我應該如何將 clickable 屬性添加到 ListView.builder 小部件?
我使用 info.json 來獲取和顯示資訊
我使用了兩個容器在兩列中顯示專案(照片)右容器顯示偶數索引,左容器顯示奇數索引
info.json 檔案和 homepage.dart
[
{
"title": "one",
"image": "assets/pexels1.jpg"
},
{
"title": "tow",
"image": "assets/pexels2.jpg"
},
{
"title": "three",
"image": "assets/pexels3.jpg"
},
{
"title": "four",
"image": "assets/pexels4.jpg"
},
{
"title": "five",
"image": "assets/pexels3.jpg"
},
{
"title": "six",
"image": "assets/pexels1.jpg"
}
]
List info = [];
_initData(){
DefaultAssetBundle.of(context).loadString("json/info.json").then((value){
info = json.decode(value);
});
}
@override
void initState(){
super.initState();
_initData();
}
你可以看到相關的圖片

這是與程式及其專案相關的圖片

uj5u.com熱心網友回復:
您可以將 InkWell 或 GestureDetector 與您想要的任何小部件一起使用
例如:
InkWell(
onTap:(){
//any logic here
},
child: //any widget here,
),
uj5u.com熱心網友回復:
我也嘗試過這些小部件但它回傳給我的答案是行這意味著這兩個專案都被視為一個

return InkWell(
onTap:(){
print("Response: ${info[i]}");
},
child: ...
};
可能是因為我使用了行
uj5u.com熱心網友回復:
您可以創建一個模態類來在其中設定變數的型別,然后創建型別串列,然后用您的資料填充它。
模態型別之一是函式或小部件,通過它您可以傳遞onTap()引數。
之后,您可以簡單地使用您的串列制作串列視圖構建器。
uj5u.com熱心網友回復:
您可以像這樣使用 InkWell 或 GestureDetector
ListView.builder(
itemCount: list.length,
itemBuilder: (context, index) {
return `Row(
children: [
InkWell(
onTap: (){
print("Response: ${info[i].title}");
},
child: Container(),
),
InkWell(
onTap: (){
print("Response: ${info[i].title}");
},
child: Container(),
)
],
)
},
),
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/529377.html
標籤:扑镖
下一篇:如何從Future回傳串列字串
