Tugba Ozkan
Tugba Ozkan

Reputation: 61

Split Widgets ,How am i adding information from another widget to main widget?

I am new at Flutter and I can't understand some things. I split small widgets for improving my system but i dont know how i will add data from other page.I want to show days of week and i splitted this days another widget this way "DaysOfWeek.dart" and i wrote class name this widget in main.dart file but i have an implement error. how can i fix ? main.dart

import 'package:calendar_app/dayofweeks.dart';
import 'package:flutter/material.dart';

void main()=>runApp(MyApp());


class MyApp extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Calendar',

      home: MyHomePage(),


    );
  }
}


class MyHomePage extends StatefulWidget {
  var calculateDays;
  @override

  _MyHomePageState createState() => _MyHomePageState();

}

class _MyHomePageState extends State<MyHomePage> {


  @override
  Widget build(BuildContext context) {

    return Scaffold(
      body: SingleChildScrollView(
        child:Column ( children: <Widget>[
         Row( 
           DaysOfWeek(),), // here is the my small widget 
         ],
         ),

         ),);

} }

dayofweeks.dart :

import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
class DaysOfWeek extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
   List<DateTime> calculateDays(DateTime startDate, DateTime endDate) {
    List<DateTime> days = [];
    for (int i = 0; i <= endDate.difference(startDate).inDays; i++) {
      days.add(startDate.add(Duration(days: i)));
    }
    return days;
  }

    // TODO: implement build
    throw UnimplementedError();
  }
}

Upvotes: 0

Views: 373

Answers (1)

hisam
hisam

Reputation: 1629

I hope this will help:

main.dart:

import 'dayofweeks.dart'; //1st
import 'package:flutter/material.dart';

void main() => runApp(MaterialApp(
      title: 'Flutter Calendar',
      home: Scaffold(
        body: MyHomePage(),
      ),
    ));

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SingleChildScrollView(
          child: Column(children: <Widget>[
        (Row(
          children: <Widget>[DaysOfWeek()],
        ))
      ])),
    );
  }
}

dayofweeks.dart:

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

class DaysOfWeek extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
   List<DateTime> calculateDays(DateTime startDate, DateTime endDate) { //Sorry I don't understand the calculateDays() function
    List<DateTime> days = [];
    for (int i = 0; i <= endDate.difference(startDate).inDays; i++) {
      days.add(startDate.add(Duration(days: i)));
    }
    return days;
  }


    throw UnimplementedError();
  }
}

and also if you found a problem in widget_test.dart, replace this line

await tester.pumpWidget(MyApp());

with this one

await tester.pumpWidget(MaterialApp());

Upvotes: 1

Related Questions