英文:
BuildContext for a class
问题
我是新手flutter开发者,
我创建了一个可重用的Card类,但我不知道如何在这里为我的raisedButton构建上下文。请帮忙!
import 'package:flutter/material.dart';
import 'package:kebhips/Pages/TimeTablePage1.dart';
class ProgrammesDetails {
final String id;
final String name;
final String time;
final String description;
final String image;
final String picture;
final RaisedButton raisedButton;
ProgrammesDetails(
{this.id,
this.name,
this.time,
this.description,
this.image,
this.picture,
this.raisedButton});
}
List<ProgrammesDetails> programmesDetails = [
ProgrammesDetails(
id: "1",
name: "B T S",
time: "Deux ans",
description:
"Le BTS (Brevet de Technicien Supérieur), est un diplôme national de l'enseignement supérieur qui se prépare en deux ans après le baccalauréat et qui ouvre la voie à plus de 50 spécialités dans différents secteurs. Le BTS est pensé pour favoriser une orientation professionnelle rapide sans fermer la porte à la poursuite des études. Sa particularité réside dans la nature professionnalisante de son contenu pédagogique et son enseignement pratique porté par de nombreuses semaines de stage en entreprise. Le BTS conduit à l'obtention d'un diplôme de niveau bac+2 reconnu par l'État. Sa validation ouvre naturellement les portes au marché de l'emploi.",
image: "assets/img/mars.png",
picture:
"https://www.nasa.gov/sites/default/files/thumbnails/image/pia21723-16.jpg",
raisedButton: RaisedButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => TimeTablePage()));
})),
];
[1]: https://i.stack.imgur.com/kPfQj.png
[2]: https://i.stack.imgur.com/E0cLk.png
https://github.com/rslimm/kelden.git
英文:
I'm new to flutter,
I created a class for a reusable Card, but I don't know how can build a context here for my raisedButton. Please Help !
import 'package:flutter/material.dart';
import 'package:kebhips/Pages/TimeTablePage1.dart';
class ProgrammesDetails{
final String id;
final String name;
final String time;
final String description;
final String image;
final String picture;
final RaisedButton raisedButton;
ProgrammesDetails({this.id, this.name, this.time,
this.description, this.image, this.picture, this.raisedButton});
}
List<ProgrammesDetails> programmesDetails = [
ProgrammesDetails(
id: "1",
name: "B T S",
time: "Deux ans",
description: "Le BTS (Brevet de Technicien Supérieur), est un diplôme national de l'enseignement supérieur qui se prépare en deux ans apès le baccalauréat et qui ouvre la voie à plus de 50 spécialités dans différents secteurs. Le BTS est pensé pour favoriser une orientation professionnelle rapide sans fermer la porte à la poursuite des études. Sa particularité réside dans la nature professionnalisante de son contenu pédagoque et son enseignement pratique porté par de nombreuses semaines de stage en entreprise. Le BTS conduit à l'btention d'un diplôme de niveau bac+2 reconnu par l'Etat. Sa validation ouvre naturellement les portes au marché de l'emploi.",
image: "assets/img/mars.png",
picture: "https://www.nasa.gov/sites/default/files/thumbnails/image/pia21723-16.jpg",
raisedButton: RaisedButton(
onPressed: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => TimeTablePage()));
})
),
答案1
得分: 1
你在做某些错误的事情,但要从任何方法中访问上下文,你可以使用StatefulWidget而不是StatelessWidget。
class MyWidget extends StatefulWidget {
@override
_MyWidgetState createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {
...
}
你可以从flutter文档了解更多关于使用StatefulWidget
的信息。此外,还可以查看这个视频。
英文:
You are doing something wrong, but to access context from any method you could use StatefulWidget instead of StatelessWidget.
class MyWidget extends StatefulWidget {
@override
_MyWidgetState createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {
...
}
You can read more about using StatefulWidget
from flutter docs.
Also, check out this video.
答案2
得分: 0
Context is captured from Widget build(BuildContext context)
需要实现它是一个Stateless(无状态)还是Stateful(有状态)的小部件
供参考
https://api.flutter.dev/flutter/widgets/BuildContext-class.html
https://flutter.dev/docs/development/ui/interactive
英文:
Context is captured from
Widget build(BuildContext context)
Need to implement whether it’s Stateless or Stateful widget
For reference
https://api.flutter.dev/flutter/widgets/BuildContext-class.html
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论