https://github.com/flutter-devs/flutter_folding_cell_demo/blob/master/lib/demo_screen.dart

मैं उपरोक्त लिंक में कोड का पालन करने की कोशिश कर रहा हूं। लेकिन SimpleFoldingCell भाग में, 'द क्लास 'SimpleFoldingCell' नाम की त्रुटि में डिफ़ॉल्ट कंस्ट्रक्टर नहीं होता है। होता है। क्या डार्ट में इस त्रुटि को हल करने का कोई तरीका है?

class Notific extends StatefulWidget{
  @override
  _State createState() => _State();
}

class _State extends State<Notific>{
  late List<TechnologyModel> _technologyList;

  @override
  void initState() {
    super.initState();
    _technologyList = [
      TechnologyModel(title: "Application Development",),
      TechnologyModel(title: "Research & Development",),
      TechnologyModel(title: "Big Data & Analytics",),
      TechnologyModel(title: "Support Services",),
      TechnologyModel(title: "QA & Software Testing",),
    ];

  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        automaticallyImplyLeading: false,
        backgroundColor: Colors.pink[200],
        title: Text("Folding Cell Demo",
          style: TextStyle(color: Colors.white),),
      ),
      body: Container(
        child: ListView.builder(
          itemCount: _technologyList.length,
          itemBuilder: (context, index) {
            return SimpleFoldingCell(
              frontWidget: _buildFrontWidget(index),
              innerTopWidget: _buildInnerWidget(index),
              innerBottomWidget: _buildInnerBottomWidget(),
              cellSize: Size(MediaQuery.of(context).size.width, 125),
              padding: EdgeInsets.all(15),
              animationDuration: Duration(milliseconds: 200),
              borderRadius: 10,
              onOpen: () => print('$index cell opened'),
              onClose: () => print('$index cell closed'),
            );
          },
        ),
      ),
    );
  }

  Widget _buildFrontWidget(int index) {
    return Builder(
      builder: (BuildContext context) {
        return Container(
          color:  Colors.cyan[100],
          alignment: Alignment.bottomCenter,
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              Text(
                "Aeologic Technology",
                style: TextStyle(
                  fontSize:20.0,
                  color: Colors.black,
                ),
              ),
              SizedBox(height: 10,),
              FlatButton(
                onPressed: () {
                  final foldingCellState = context
                      .findAncestorStateOfType<SimpleFoldingCellState>();
                  foldingCellState?.toggleFold();
                },
                child: Text(
                  "OPEN",
                ),
                textColor: Colors.white,
                color: Colors.indigoAccent[100],
                splashColor: Colors.white.withOpacity(0.5),
              ),
            ],
          ),
        );
      },
    );
  }

  Widget _buildInnerBottomWidget() {
    return Builder(
        builder: (context) {
          return Container(
            color: Colors.blueGrey[50],
            alignment: Alignment.bottomCenter,
            child: Padding(
              padding: EdgeInsets.only(bottom: 10),
              child: FlatButton(
                onPressed: () {
                  final foldingCellState = context
                      .findAncestorStateOfType<SimpleFoldingCellState>();
                  foldingCellState?.toggleFold();
                },
                child: Text(
                  "Close",
                ),
                textColor: Colors.white,
                color: Colors.redAccent[100],
                splashColor: Colors.white.withOpacity(0.5),
              ),
            ),
          );
        }
    );
  }

  Widget _buildInnerWidget(int index) {
    return Builder(
      builder: (context) {
        return Container(
          color: Colors.pink[100],
          padding: EdgeInsets.only(top: 10),
          child: Align(
            alignment: Alignment.center,
            child: Text(
              _technologyList[index].title,
              style: TextStyle(
                fontSize:20.0,
                color: Colors.black,
              ),
            ),
          ),
        );
      },
    );
  }
}
class TechnologyModel {
  String title;

  TechnologyModel({
    required this.title,
  });
}
0
Gongsoonyee 22 नवम्बर 2021, 18:05

1 उत्तर

सबसे बढ़िया उत्तर

किसी कारण से उन्होंने केवल एक नामित कंस्ट्रक्टर बनाया है।

return SimpleFoldingCell.create(
  frontWidget: _buildFrontWidget(index),
  innerWidget: _buildInnerWidget(index),
  // innerTopWidget: _buildInnerWidget(index),
  // innerBottomWidget: _buildInnerBottomWidget(),
  cellSize: Size(MediaQuery.of(context).size.width, 125),
  padding: EdgeInsets.all(15),
  animationDuration: Duration(milliseconds: 200),
  borderRadius: 10,
  onOpen: () => print('$index cell opened'),
  onClose: () => print('$index cell closed'),
);

ऐसा लगता है कि आप जो डेमो देख रहे हैं वह थोड़ा पुराना है, क्योंकि उनमें से कुछ गुण अब मौजूद नहीं हैं (टिप्पणी कोड देखें)।

0
Guy Kogus 22 नवम्बर 2021, 18:19
दयालु स्पष्टीकरण के लिए बहुत-बहुत धन्यवाद!
 – 
Gongsoonyee
22 नवम्बर 2021, 18:24