Я хочу использовать возврат из функции floatingButton
, чтобы создать кнопку в HomePage
.
import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
abstract class AcountTypeManager{
Widget floatingButton(BuildContext context);
}
class AcountElements implements AcountTypeManager{
@override
FloatingActionButton floatingButton(BuildContext context) {
FloatingActionButton button = new FloatingActionButton();
FirebaseAuth.instance.currentUser().then((user){
FloatingActionButton buttonPacient = new FloatingActionButton(
child: Icon(Icons.access_alarms),
onPressed: (){
print('test');
}
);
FloatingActionButton buttonDoctor = new FloatingActionButton(
child: Icon(Icons.calendar_today),
onPressed: (){
print('test');
}
);
Firestore.instance
.collection('/users')
.where('uid', isEqualTo: user.uid)
.getDocuments()
.then((docs){
if(docs.documents[0].exists){
if(docs.documents[0].data['isDoctor'] == true){
button = buttonDoctor;
return button;
}
else
{
button = buttonDoctor;//button = buttonPacient;
return button;
}
}
button = buttonDoctor;
return button;
}
);
}
);
return button;
}
}
</code>
Домашняя страница:
class HomePageState extends State<HomePage> {
@override
Widget build(BuildContext context) {
FloatingActionButton button = new FloatingActionButton(onPressed: (){},);
button = AcountElements().floatingButton(context);
return Scaffold(
floatingActionButton: button,
Но кнопка, кажется, не появляется (только пустая кнопка, которую я первоначально объявил в функции floatingButton
):
FloatingActionButton button = new FloatingActionButton();
Я новичок во флаттереЯ явно что-то делаю не так.Может ли кто-нибудь помочь мне с ответом?