Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 方法';选择时间';isn';t为类定义'_创建WeckerPage';_Flutter_Dart - Fatal编程技术网

Flutter 方法';选择时间';isn';t为类定义'_创建WeckerPage';

Flutter 方法';选择时间';isn';t为类定义'_创建WeckerPage';,flutter,dart,Flutter,Dart,我在我们的第一个dart文件(main.dart)中使用了一个临时的showTimePicker 导入“包装:颤振/材料.省道”; 导入“dart:async”; //导入“包:android_alarm_manager/android_alarm_manager.dart”; void main()=>runApp(MyApp()); 类MyApp扩展了无状态小部件{ @凌驾 小部件构建(构建上下文){ 返回材料PP( 标题:“颤振演示”, 主题:主题数据( 主样本:颜色。蓝色, ), 主页:

我在我们的第一个dart文件(main.dart)中使用了一个临时的showTimePicker

导入“包装:颤振/材料.省道”;
导入“dart:async”;
//导入“包:android_alarm_manager/android_alarm_manager.dart”;
void main()=>runApp(MyApp());
类MyApp扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回材料PP(
标题:“颤振演示”,
主题:主题数据(
主样本:颜色。蓝色,
),
主页:CreateWeckerPage(“Wecker-erstellen”),
);
}
}
类CreateWeckerPage扩展StatefulWidget{
CreateWeckerPage(this.name):super();
最后的字符串名;
@凌驾
_CreateWeckerPage createState()=>\u CreateWeckerPage();
}
类_CreateWeckerPage扩展状态{
TimeOfDay _time=新的TimeOfDay.now();
//泽特选择器功能
Future\u selectTime(构建上下文)异步{
最终拾取的日期时间=等待显示时间选择器(
上下文:上下文,
初始时间:_时间,
生成器:(BuildContext上下文,小部件子项){
返回MediaQuery(
数据:MediaQuery.of(context).copyWith(alwaysUse24HourFormat:true),
孩子:孩子,
);
}
);
如果(已拾取!=null&&picked!=\u时间){
打印('Timeselected:${u time.toString()}');
设置状态(){
_时间=已拾取;
});
}
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“${widget.name}”)
),
主体:容器(
子:列(
儿童:[
Text('所选时间:${u Time.toString()}'),
升起的按钮(
已按下:(){
_选择时间(上下文);
},
子:文本(
“Zeit eingeben”,
),
),
],
),
),
);
}
}
我想引用代码,开始将页面外包到另一个dart文件中,并将函数_selectTime外包到另一个dart文件中。所以我创建了一个名为createWeckerPage.dart的文件

import 'package:flutter/material.dart';
import 'dart:async';
import 'package:wecker/Funktions/timePicker.dart';

class CreateWeckerPage extends StatefulWidget{
  CreateWeckerPage(this.name):super();
  final String name;
  @override
  _CreateWeckerPage createState() => _CreateWeckerPage();
}

class _CreateWeckerPage extends State<CreateWeckerPage>{
  TimeOfDay _time;   

  @override
  Widget build(BuildContext context){
    return Scaffold(
      appBar: AppBar(
        title: Text('${widget.name}')
      ),
      body: Container(
        child: Column(
          children: <Widget>[
            Text('Time Selected: ${_time.toString()}'),
            RaisedButton(
              onPressed: (){
                  testClass.testFunktion();
                  _time = _selectTime(context):
                );  
              },
              child: Text(
                "Zeit eingeben",
              ),
            ),
          ],
        ),
      ),
    );
  }
}
导入“包装:颤振/材料.省道”;
导入“dart:async”;
导入“包:wecker/Funktions/timePicker.dart”;
类CreateWeckerPage扩展StatefulWidget{
CreateWeckerPage(this.name):super();
最后的字符串名;
@凌驾
_CreateWeckerPage createState()=>\u CreateWeckerPage();
}
类_CreateWeckerPage扩展状态{
一天的时间;
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“${widget.name}”)
),
主体:容器(
子:列(
儿童:[
Text('所选时间:${u Time.toString()}'),
升起的按钮(
已按下:(){
testClass.testFunktion();
_时间=\选择时间(上下文):
);  
},
子:文本(
“Zeit eingeben”,
),
),
],
),
),
);
}
}
还有一个计时器

import 'package:flutter/material.dart';
import 'dart:async';

 Future<Null> _selectTime(BuildContext context) async {

  TimeOfDay _time = TimeOfDay.now();
  final TimeOfDay picked = await showTimePicker(
    context: context, 
    initialTime: _time, 
    builder: (BuildContext context, Widget child) {
      return MediaQuery(
        data: MediaQuery.of(context).copyWith(alwaysUse24HourFormat: true),
        child: child,
      );
    }
  );

  if(picked != null && picked != _time){
    print('Timeselected: ${_time.toString()}');
    return picked;
  }
  return _time;
}

导入“包装:颤振/材料.省道”;
导入“dart:async”;
Future\u selectTime(构建上下文)异步{
TimeOfDay _time=TimeOfDay.now();
最终拾取的日期时间=等待显示时间选择器(
上下文:上下文,
初始时间:_时间,
生成器:(BuildContext上下文,小部件子项){
返回MediaQuery(
数据:MediaQuery.of(context).copyWith(alwaysUse24HourFormat:true),
孩子:孩子,
);
}
);
如果(已拾取!=null&&picked!=\u时间){
打印('Timeselected:${u time.toString()}');
回采;
}
返回时间;
}
问题是,正如标题中所述,createWeckerPage类中没有定义方法_selectTime。我如何实现我的Future _selectTime功能以在createWeckerPage.dart中工作并在应用程序中显示


提前谢谢。

下划线表示私人,您可以删除下划线
请从

_selectTime(BuildContext context)

_selectTime(BuildContext context)
selectTime(BuildContext context)