What is the correct argument? Flutter

I'm trying to pass some rather simple information to another screen. This is usually no problem, but when I ran into checkboxes and bool values I came to a halt and I can't seem to find the right way to pass my String- and boolValue to my second screen.

I have tried all sorts of arguments and I've tried both with and without Key: key... When I Google or check on youtube there are alot of 'passing data' tutorials, but I'm still stuck.

The code is very simple, but it explains the problem. It runs but not correct.

First Page:

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

class FirstPage extends StatefulWidget {
  @override
  _FirstPageState createState() => _FirstPageState();
}

class _FirstPageState extends State<FirstPage> {
  bool easy = true;
  bool hard = false;

  Widget checkbox(String checkboxTitle, bool boolValue) {
    return Row(
      mainAxisAlignment: MainAxisAlignment.spaceEvenly,
      children: [
        Text(checkboxTitle),
        Checkbox(
          value: boolValue,
          onChanged: (boolValue) {
            setState(() {
              switch (checkboxTitle) {
                case 'Easy':
                  easy = true;
                  hard = false;
                  break;
                case 'Hard':
                  easy = false;
                  hard = true;
                  break;
              }
            });
          },
        ),
      ],
    );
  }

  Widget raisedButton(String buttonName) {
    return RaisedButton(
        child: Text(buttonName),
        onPressed: () {
          Navigator.push(
              context, MaterialPageRoute(builder: (context) => SecondPage(

            /// buttonName & boolValue arguments

          )));
        });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        centerTitle: true,
        title: Text('FIRST PAGE'),
      ),
      body: Column(
        mainAxisAlignment: MainAxisAlignment.spaceEvenly,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: [
          Row(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            children: [
              checkbox('Easy', easy),
              checkbox('Hard', hard),
            ],
          ),
          raisedButton('+'),
          raisedButton('-'),
        ],
      ),
    );
  } 
}

Second Page:

import 'package:flutter/material.dart';

class SecondPage extends StatefulWidget {
  final String buttonName;
  final bool boolValue;

  SecondPage({this.buttonName, this.boolValue});
  @override
  _SecondPageState createState() => _SecondPageState();
}

class _SecondPageState extends State<SecondPage> {
  String buttonName;
  bool easy;
  bool hard;

  void createTask(String buttonName) {
    if (buttonName == '+') {
      createAddition(buttonName, bool);
    }else if(buttonName == '-'){
      createSubtraction(buttonName, bool);
    }
  }

  void createAddition(String buttonName, bool) {
    if (easy == true) {
      print('easy +');
    } else if (hard == true) {
      print('hard +');
    }
  }

  void createSubtraction(buttonName, bool) {
    if (easy == true) {
      print('easy -');
    } else if (hard == true) {
      print('hard -');
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        centerTitle: true,
        title: Text('SECOND PAGE'),
      ),
    );
  }
}