用例是settingsRepo
将始终在App Startup期间获取支持电话号码的值,并且该号码应在启动器中使用。这是我的代码:
import 'dart:ui';
import 'package:url_launcher/url_launcher.dart';
import '../screens/settings.dart';
import '../repository/settings_repository.dart' as settingsRepo;
:
:
:
class _callButtonWidget extends StateMVC<callButtonWidget> {
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return FlatButton(
onPressed: () {
return ValueListenableBuilder(
valueListenable: settingsRepo.setting,
builder: (context, value, child) {
launch("tel://$value.supportnumber");
});
},
child: Stack(
alignment: AlignmentDirectional.topEnd,
children: <Widget>[
Padding(
padding: const EdgeInsets.symmetric(horizontal: 0),
child: Icon(
Icons.settings_phone,
color: widget.iconColor,
size: 35,
),
),
],
));
问题是, onTap 什么都没发生。如果将鼠标悬停在生成器上,则会显示警告“ ,此函数的返回类型为'Widget',但不以return语句结尾。尝试添加return语句,或将返回类型更改为'无效” ”
经历了多个潜在客户,但结合使用ValueListenable和launch却无法获得任何收益。不太清楚如何解决这个问题。