Bird
Raised Fist0
Fluttermobile~5 mins

Checkbox and Switch in Flutter - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a Checkbox widget used for in Flutter?
A Checkbox widget lets users select or deselect an option. It shows a small box that can be checked or unchecked.
Click to reveal answer
beginner
How does a Switch widget differ from a Checkbox in Flutter?
A Switch widget is a toggle button that slides between ON and OFF states, often used for settings. A Checkbox is a box that can be checked or unchecked.
Click to reveal answer
beginner
Which property controls whether a Checkbox or Switch is selected or not?
The 'value' property controls if the Checkbox or Switch is selected (true) or not (false).
Click to reveal answer
beginner
What is the purpose of the 'onChanged' callback in Checkbox and Switch widgets?
The 'onChanged' callback runs when the user taps the widget. It lets the app update the state to reflect the new selection.
Click to reveal answer
intermediate
How can you make a Checkbox or Switch disabled in Flutter?
Set the 'onChanged' property to null. This disables the widget and prevents user interaction.
Click to reveal answer
What type of value does the 'value' property of a Checkbox expect?
AList
BBoolean (true or false)
CInteger
DString
Which widget would you use to let users toggle a setting ON or OFF with a sliding button?
ASwitch
BCheckbox
CRadio
DSlider
How do you disable a Checkbox so the user cannot change its state?
AWrap it in a Disabled widget
BSet 'value' to false
CSet 'enabled' to false
DSet 'onChanged' to null
What happens when the user taps a Checkbox with a valid 'onChanged' callback?
ANothing happens
BThe app crashes
CThe Checkbox toggles its state and 'onChanged' runs
DThe Checkbox disappears
Which property do you use to listen for changes in a Switch widget?
AonChanged
BonSwitch
ConTap
DonToggle
Explain how to create a Checkbox in Flutter that updates its state when tapped.
Think about how the Checkbox knows if it is checked and how to update that.
You got /4 concepts.
    Describe the differences and typical uses of Checkbox and Switch widgets in Flutter.
    Consider how users interact with each and what UI they expect.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main difference between a Checkbox and a Switch in Flutter?
      easy
      A. Checkbox requires a controller; Switch does not.
      B. Checkbox allows multiple selections; Switch is for a single on/off choice.
      C. Checkbox changes color automatically; Switch does not.
      D. Checkbox is only for iOS; Switch is only for Android.

      Solution

      1. Step 1: Understand Checkbox behavior

        A Checkbox lets users select multiple options independently.
      2. Step 2: Understand Switch behavior

        A Switch is a toggle for a single on/off setting, not multiple selections.
      3. Final Answer:

        Checkbox allows multiple selections; Switch is for a single on/off choice. -> Option B
      4. Quick Check:

        Checkbox = multiple, Switch = single toggle [OK]
      Hint: Checkbox = multiple choices, Switch = single toggle [OK]
      Common Mistakes:
      • Thinking Switch can select multiple options
      • Confusing platform-specific behavior
      • Assuming Checkbox needs a controller
      2. Which of the following is the correct way to create a Checkbox widget with a boolean value isChecked and update it on change?
      easy
      A. Checkbox(checked: isChecked, onChange: (val) => setState(() => isChecked = val))
      B. Checkbox(value: isChecked, onChanged: (val) { isChecked = val })
      C. Checkbox(value: isChecked, onChanged: (val) => isChecked = val)
      D. Checkbox(value: isChecked, onChanged: (val) => setState(() => isChecked = val!))

      Solution

      1. Step 1: Check property names

        The correct property for Checkbox state is value and the callback is onChanged.
      2. Step 2: Use setState to update UI

        Inside onChanged, use setState to update isChecked with the new value.
      3. Final Answer:

        Checkbox(value: isChecked, onChanged: (val) => setState(() => isChecked = val!)) -> Option D
      4. Quick Check:

        Use value and onChanged with setState [OK]
      Hint: Use value and onChanged with setState to update [OK]
      Common Mistakes:
      • Missing setState causing UI not to update
      • Using wrong property names like checked or onChange
      • Not unwrapping nullable bool with val!
      3. What will be the output behavior of this Flutter code snippet?
      bool isSwitched = false;
      
      Switch(
        value: isSwitched,
        onChanged: (value) {
          isSwitched = value;
        },
      )
      medium
      A. The switch toggles visually and updates the UI correctly.
      B. The code causes a compile-time error due to missing setState.
      C. The switch does not toggle visually because setState is missing.
      D. The switch toggles but the value never changes.

      Solution

      1. Step 1: Analyze state update

        The variable isSwitched is updated but not inside setState.
      2. Step 2: Understand UI update mechanism

        Without setState, Flutter does not rebuild the widget, so UI won't reflect changes.
      3. Final Answer:

        The switch does not toggle visually because setState is missing. -> Option C
      4. Quick Check:

        Missing setState means no UI update [OK]
      Hint: Always wrap state changes in setState for UI update [OK]
      Common Mistakes:
      • Assuming variable change updates UI automatically
      • Confusing compile error with runtime behavior
      • Ignoring setState importance
      4. Identify the error in this Flutter code for a Checkbox:
      bool checked = false;
      
      Checkbox(
        value: checked,
        onChanged: (bool val) {
          checked = val;
        },
      )
      medium
      A. Missing setState call to update the UI.
      B. Incorrect type for onChanged parameter.
      C. Checkbox widget requires a controller.
      D. Value property should be named checked.

      Solution

      1. Step 1: Check state update method

        The variable checked is updated but not inside setState.
      2. Step 2: Understand Flutter UI update

        Without setState, the UI will not rebuild to reflect the new value.
      3. Final Answer:

        Missing setState call to update the UI. -> Option A
      4. Quick Check:

        State changes need setState for UI refresh [OK]
      Hint: Use setState to refresh UI after state changes [OK]
      Common Mistakes:
      • Forgetting setState causes no UI update
      • Thinking Checkbox needs a controller
      • Confusing parameter types
      5. You want to create a settings page with two options: "Enable Notifications" (Switch) and "Accept Terms" (Checkbox). How should you manage their states to update the UI correctly when toggled?
      hard
      A. Use two boolean variables and update each inside setState when toggled.
      B. Use a single boolean variable for both widgets and update it in setState.
      C. Use final variables since the UI does not need to change after initial build.
      D. Use global variables outside the widget and update them without setState.

      Solution

      1. Step 1: Identify separate states

        Each widget needs its own boolean variable to track its state independently.
      2. Step 2: Update states with setState

        Wrap each state change inside setState to rebuild the UI correctly.
      3. Final Answer:

        Use two boolean variables and update each inside setState when toggled. -> Option A
      4. Quick Check:

        Separate booleans + setState = correct UI update [OK]
      Hint: Use separate booleans and setState for each toggle [OK]
      Common Mistakes:
      • Using one variable for multiple toggles
      • Not using setState causing UI freeze
      • Using final variables preventing changes
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard