我想在flutter中将两个String变量传递给另一个类并使用它。我尝试过但失败了。
我尝试过这种方式,但是它说了;实例成员不能使用静态访问。我想知道正确的方法。
在MyHome类中;我将litemspage0 [index]和litemsname0 [index]传递给VideoPlayer0类
_getPage(int page) {
switch (page) {
case 0:
return ListView.builder(
itemBuilder: (context, index) {
return new Padding(
padding:
new EdgeInsets.symmetric(vertical: 8.0, horizontal: 16.0),
child: new Card(
elevation: 2.0,
shape: RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(16.0)),
child: InkWell(
onTap: () {
Navigator.of(context).push(
new MaterialPageRoute(
builder: (context) {
return new VideoPlayer0(litemspage0[index],litemsname0[index]);
},
),
);
我想在VideoPlayer0类中使用litemspage0 [index],litemsname0 [index]。 这是我尝试的代码,
class VideoPlayer0 extends StatefulWidget {
final String litemspage0;
final String litemsname0;
VideoPlayer0(this.litemspage0, this.litemsname0);
@override
_MyHomePageState0 createState() => _MyHomePageState0();
}
class _MyHomePageState0 extends State<VideoPlayer0> {
static const platform = const MethodChannel("www.youtube.com");
TextEditingController _idController = TextEditingController();
TextEditingController _seekToController = TextEditingController();
double _volume = 1.0;
VideoPlayerController _videoController;
String position = "Get Current Position";
String status = "Get Player Status";
String videoDuration = "Get Video Duration";
String _source = VideoPlayer0.litemspage0;
bool isMute = false;
但是我遇到了这个错误。
String _source = VideoPlayer0.litemspage0;
Instance member 'litemspage0' can't be accessed using static access.
我想知道正确地将一类变量传递给另一类的正确方法。
答案 0 :(得分:1)
这不是将变量传递给另一个类的正确方法。 正确的方法是这样的:
VideoPlayer0(litemspage0: yourPageValue ,litemsname0:yourNameValue);
,您可以像这样在状态类中访问它们:
String _source = widget.litemspage0;
答案 1 :(得分:0)
在状态类中,要访问小部件类的变量,必须使用widget
。因此,请使用widget.litemspage0
。
此外,您必须在_source
中分配initState()
,如下所示:
String _source;
@override
initState() {
super.initState();
_source = widget.litemspage0;
}