class SpaceNews extends StatefulWidget {
@override
_SpaceNewsState createState() => _SpaceNewsState();
}
class _SpaceNewsState extends State<SpaceNews> {
late int a;
List itemlist2=totalitems;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(backgroundColor: Colors.white,
title: Center(child:Text('Planet List',style: TextStyle(fontSize: 22,color: Colors.black),)),),
body: SafeArea(
child: Container(
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.centerLeft,
end: Alignment.centerRight,
colors: [Colors.white, Colors.deepOrange.shade200])),
child: ListView.builder(
itemCount: itemlist2.length,
itemBuilder: (context, int index) {
return GestureDetector(
child: Column(
children:[ Container(
height: 250,
width: 300,
child: Card(
color: Colors.deepOrange[100],
shape: RoundedRectangleBorder(
side: BorderSide(color: Colors.white70, width: 1),
borderRadius: BorderRadius.circular(10),),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
SizedBox(
height: 5,
),
Image.network(
'${itemlist2[index].planetimage}',
height: 110,
width: 110,
),
SizedBox(
height: 30,
),
Text(
'${itemlist2[index].planetname}',
style: TextStyle(fontSize: 25),
),
SizedBox(
height: 20,
),
Icon(Icons.east,size: 40,color: Colors.black,),
],
),
),
),
SizedBox(height: 15,),
],
),
onTap: (){
a=index;
setState(() {
Route plr = MaterialPageRoute(builder: (context) {
return planetpages();
});
Navigator.push(context, plr);
});
},
);
},
),
),
),
);
}
}
--------------------------------------------------------------------------------------------------------------------------
class planetpages extends StatelessWidget {
List itemlist2=totalitems;
@override
Widget build(BuildContext context) {
return Material(
child:SafeArea(
child: Scaffold(
body: Column(
children:[
Image.network('${itemlist2[a].planetimage}',height: 200,fit: BoxFit.fill,),
SizedBox(height: 50,),
Text('${itemlist2[a].planettexts}',style: TextStyle(fontSize: 22),),
],
),
),
)
);
}
}
hocam ben listleden çektiğim elemanları kullanmak için bir listview.buildir kullandım ve bunlara gesturedetector kullanarak basıldığında başka sayfaya atma imkanı oluşturdum. Ama çok fazla list elemanı oluğundan dolayı teker teker tüm elemanlara için page oluşturmam imkansız bu yüzden orda da basılan alanın index numarasını alarak o elemanla ilgili sayfaya göndermeye çalıştım ama ne yazık ki ilk kodda tanımladığım değişkeni orda kullanamadım🙂.Bu index numarasını nasıl alabilir ve diğer page de kullanabilirim bu konuda yardıma ihtiyacım var.