Bird
Raised Fist0
Fluttermobile~10 mins

Checkbox and Switch in Flutter - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a Checkbox widget with a boolean value.

Flutter
Checkbox(value: [1], onChanged: (bool? newValue) { setState(() { isChecked = newValue!; }); })
Drag options to blanks, or click blank then click option'
Afalse
Btrue
Cnull
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Using null instead of a boolean value.
Using numbers like 0 or 1 instead of true/false.
2fill in blank
medium

Complete the code to create a Switch widget that toggles a boolean state.

Flutter
Switch(value: isSwitched, onChanged: (bool [1]) { setState(() { isSwitched = [1]; }); })
Drag options to blanks, or click blank then click option'
Avalue
Bflag
Cstate
DnewValue
Attempts:
3 left
💡 Hint
Common Mistakes
Using a parameter name that does not match the variable inside the callback.
Using a non-boolean parameter name.
3fill in blank
hard

Complete the code to create a disabled indeterminate Checkbox widget.

Flutter
Checkbox(value: [1], onChanged: null)
Drag options to blanks, or click blank then click option'
A0
Btrue
Cnull
Dfalse
Attempts:
3 left
💡 Hint
Common Mistakes
Using true or false, which shows checked or unchecked instead of indeterminate.
Using 0 instead of null.
4fill in blank
hard

Fill both blanks to create a CheckboxListTile with a title and a checked value.

Flutter
CheckboxListTile(title: Text([1]), value: [2], onChanged: (bool? val) { setState(() { isSelected = val!; }); })
Drag options to blanks, or click blank then click option'
A"Accept Terms"
Btrue
Cfalse
D"Enable Notifications"
Attempts:
3 left
💡 Hint
Common Mistakes
Putting title without quotes or Text widget.
Using a string for value instead of boolean.
5fill in blank
hard

Fill all three blanks to create a SwitchListTile with a label, value, and onChanged callback.

Flutter
SwitchListTile(title: Text([1]), value: [2], onChanged: (bool [3]) { setState(() { isOn = [3]; }); })
Drag options to blanks, or click blank then click option'
A"Dark Mode"
BisDarkMode
CnewValue
D"Light Mode"
Attempts:
3 left
💡 Hint
Common Mistakes
Using a string for value instead of a boolean variable.
Mismatch between parameter name and variable inside onChanged.

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