Может кто-нибудь объяснить мне, почему ожидался 1 позиционный аргумент, но найдено 0

Я новичок во Флаттере. Я пытаюсь создать еще одно диалоговое окно с предупреждением после того, как нажму «Да» в первом диалоговом окне с предупреждением, но возникает ошибка. Ошибка была на моем showSecond(); Результат как-то будет таким. Было бы приятно, если бы кто-нибудь мог объяснить мне ;( и показать мне правильный. Большое спасибо!

Это мой код.

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:smart_parking/features/home/homescreen.dart';

class MyBottomBar extends StatelessWidget {
  const MyBottomBar({ Key? key }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container( 
      height: 50, 
      width: double.maxFinite, 
      decoration: BoxDecoration( 
        color: Colors.grey.shade200
      ),

      child: Row( 
        
        mainAxisAlignment: MainAxisAlignment.spaceEvenly,
        children: <Widget> [ 
          Column( 
            crossAxisAlignment: CrossAxisAlignment.start, 
            children: [ 
              
              Text('Total payment', style: TextStyle( fontSize: 15, decoration: TextDecoration.none, color: Colors.grey.shade800)), 
              SizedBox(height: 5), 
              Text('RM 46.00', style: TextStyle(color: Colors.black, fontWeight: FontWeight.bold, fontSize: 10, decoration: TextDecoration.none),)
            ],
          ), 
          SizedBox( width: 90),

          Image.asset('boxP.png', height: 30, width: 50), 

          Spacer(),
          Column( 
            children: [ 
              Container( height: 50, width: 150, color: Colors.black,
                child: Align( 
                  alignment: Alignment.center, 
                  child: TextButton(child: Text('PAY', style: TextStyle(color: Colors.white)),
                  onPressed: () { 
                    showAlertDialog(context);
                  },),
                ),
              )
            ],
          ),
        ]
      ),
    );
  }
}

void showAlertDialog(BuildContext context) {
  showDialog(context: context,
   builder: (BuildContext context) 
   { return CupertinoAlertDialog( 
     title: Text("Payment Confirmation", style: TextStyle( fontWeight: FontWeight.bold),), 
     content: Text("Are you sure with your payment?"), 
     actions: [ 
       CupertinoDialogAction(child: Text('Cancel'), 
       onPressed: () { Navigator.of(context).pop();
       }
       ), 
       CupertinoDialogAction
       (child: Text("Yes"), 
       onPressed: () { 
         Navigator.push(context, 
         MaterialPageRoute(builder: (context) => const HomeScreen()));
        showSecond();
       }, 
       )

     ],
   ); 
   }, );
}

void showSecond( BuildContext context) {
   showDialog(
      context: context,
      builder: (BuildContext context) => AlertDialog(
        title: Text("Thank you for paying with us"),
        content: Icon(Icons.check_circle_outline),
        actions: [
          TextButton(
            onPressed: () {
              Navigator.of(context).pop();
            },
            child: const Text('Okay'),
          ),
        ],
      ),
    );
}

Вы заявили, что showSecond принимаете один аргумент, а коллируете без него. Вот что говорит ошибка

Sami Kuhmonen 09.04.2022 06:18

как выразился @SamiKuhmonen, вам нужен контекстный аргумент в `showSecond();` поэтому `showSecond(context);`

griffins 09.04.2022 06:22
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
1
3
33
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

попробуй этот бро

  onPressed: () {
            Navigator.push(context,
                MaterialPageRoute(builder: (context) => const HomeScreen()));
            showSecond(context);
          },

Другие вопросы по теме