why this alert dialog is not working in flutter

Issue

i used below code to get alert whenever user clicks on a particular list item


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





class RamList extends StatelessWidget {



  @override
  Widget build(BuildContext context) {



    return _myListView(context);
  }
}

Widget _myListView(BuildContext context) {
  final titles = [
     'Part-1',
     'part-2',
     'part-3',
     'part-4',
     'part-5',
  ];

  final numbers = [
    '1 ',
    '2 ',
    '3 ',
    '4 ',
    '5 ',



  ];

  functionOne() {
    Navigator.push(
        context, new MaterialPageRoute(builder: (context) =>  RamOne()));
  }

  functionTwo() {
    Navigator.push(context, MaterialPageRoute(builder: (context) => RamTwo()));
  }

  functionThree() {
    Navigator.push(
        context, MaterialPageRoute(builder: (context) => RamThree()));
  }

  functionFour() {
    Navigator.push(context, MaterialPageRoute(builder: (context) => RamFour()));
  }

  functionFive()=>_onAlertButtonPressed1; 





  final List<Function> onTaps = [
    functionOne,
    functionTwo,
    functionThree,
    functionFour,
    functionFive,

  ];

  return ListView.builder(

      itemCount: titles.length,
      itemBuilder: (context, index) {
        return Card(
            elevation: 50,
            child: InkWell(



              child: Row(
                children: <Widget>[


                  Container(


                    height: 100.0,
                    width:50.0,

                    decoration: BoxDecoration(
                        gradient:LinearGradientStyle.linearGradient(
                            orientation:LinearGradientStyle.ORIENTATION_HORIZONTAL,
                            gradientType: LinearGradientStyle.GRADIENT_TYPE_AMIN
                        )
                    ),),

                  Container(
                      margin: EdgeInsets.all(10),
                      child: Text(
                        numbers[index],
                      )),


                 Flexible(child:  Container(
                    margin: EdgeInsets.all(10),
                    child: GradientText((titles[index]),
                      gradient:gradient,

                      style:TextStyle(fontSize:20.0,fontWeight:FontWeight.bold, ),
                    ),

                  ))
                ],
              ),
              onTap: () => onTaps[index](),
            ));
      });


}

_onAlertButtonPressed1(context) {
  Alert(
    context: context,
    type: AlertType.info,
    title: "Coming soon",
    desc: "This link will be available in future updates",

  ).show();
}



I tried using rflutter alert to show alert.Everything is working fine without any error.But no alert appears after clicking on destined listview..
Why this code is not working. Please help me if you have any solution..

Please comment if you need more information.By the way console message is working fine.there is no error message in the console box.

Solution

You have this callback:
functionFive()=>_onAlertButtonPressed;

It calls __onAlertButtonPressed_, but your function that shows the dialog is called _onAlertButtonPressed1 (it has 1 in the end of it).

UPD: Your callbacks should accept context and functionFive should call _onAlertButtonPressed1 function:

  functionOne(BuildContext context) {
    Navigator.push(
        context, new MaterialPageRoute(builder: (context) => RamOne()));
  }

  functionTwo(BuildContext context) {
    Navigator.push(context, MaterialPageRoute(builder: (context) => RamTwo()));
  }

  functionThree(BuildContext context) {
    Navigator.push(
        context, MaterialPageRoute(builder: (context) => RamThree()));
  }

  functionFour(BuildContext context) {
    Navigator.push(context, MaterialPageRoute(builder: (context) => RamFour()));
  }

  functionFive(BuildContext context) => _onAlertButtonPressed1(context); 

and pass the context to callbacks:

onTap: () => onTaps[index](context),

Answered By – Igor Kharakhordin

Answer Checked By – Jay B. (FlutterFixes Admin)

Leave a Reply

Your email address will not be published. Required fields are marked *