#android #flutter #dart #mobile
Вопрос:
У меня есть эта функция, getTextColor
но мне пришлось объявить ее в другом классе. Как мне получить доступ к этой функции из другого класса?
Вот как я пытаюсь получить к нему доступ:
class _NextPageState extends State<NextPage> with SingleTickerProviderStateMixin {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.transparent,
elevation: 0,
),
body: Center(
child: Container(
child: RichText(
text: TextSpan(children: [
TextSpan(
text: widget.result ' ',
style: TextStyle(
fontSize: 20.0,
fontWeight: FontWeight.bold,
color: getTextColor(widget.result), // Here is the problem.
height: 2.5,
letterSpacing: 0.7,
)),
Логика функции находится внутри класса, называемого class _MainScreenState extends State<MainScreen>
Подводя итог, как мне определить код, который getTextColor
принадлежит другому классу?
Ответ №1:
Вам нужно создать объект другого класса или сделать функцию статичной, чтобы получить к ней доступ. Если функция статична, то вы можете вызвать ее следующим образом:
ClassName.getTextColor();
Если функция не статична, то вам нужно создать объект, чтобы вызвать ее следующим образом:
var object = ClassName();
object.getTextColor();
Комментарии:
1. Просто чтобы убедиться, объект должен быть объявлен внутри класса из приведенного выше кода, верно?
2. Привет, бильбо_бо, объект может быть объявлен до сборки виджета @override.