Class ListItem Stay organized with collections Save and categorize content based on your preferences.
Page Summary
ListItem is a question type in Google Forms allowing respondents to select one choice from a drop-down list.
You can create and access ListItem objects from a Form object using
FormApp.openById()andform.addListItem().ListItem objects have methods to create choices, set choice values, get and set the title and help text, and determine if the question is required.
Feedback for correct and incorrect answers can be set for ListItem questions.
ListItem objects can be duplicated using the
duplicate()method.
A question item that allows the respondent to select one choice from a drop-down list. Items canbe accessed or created from aForm.
// Open a form by ID and add a new list item.constform=FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');constitem=form.addListItem();item.setTitle('Do you prefer cats or dogs?').setChoices([item.createChoice('Cats'),item.createChoice('Dogs')]);
Methods
| Method | Return type | Brief description |
|---|---|---|
create | Choice | Creates a new choice. |
create | Choice | Creates a new choice. |
create | Choice | Creates a new choice with a page-navigation option that jumps to a given page-break item. |
create | Choice | Creates a new choice with a page-navigation option. |
create | Item | Creates a newItem for this list item. |
duplicate() | List | Creates a copy of this item and appends it to the end of the form. |
get | Choice[] | Gets all choices for an item. |
get | Quiz | Returns the feedback that is shown to respondents when they respond correctly to a question. |
get | Quiz | Returns the feedback that is shown to respondents when they respond incorrectly to a question. |
get | String | Gets the item's help text (sometimes called description text for layout items likeImage,Page, andSection). |
get | Integer | Gets the item's unique identifier. |
get | Integer | Gets the index of the item among all the items in the form. |
get | Integer | Returns the point value of a gradeable item. |
get | String | Gets the item's title (sometimes called header text, in the case of aSection). |
get | Item | Gets the item's type, represented as anItem. |
is | Boolean | Determines whether the respondent must answer the question. |
set | List | Sets the choices for an item from an array of strings. |
set | List | Sets an array of choices for an item. |
set | List | Sets the feedback to be shown to respondents when they respond correctly to a question. |
set | List | Sets the feedback to be shown to respondents when they respond incorrectly to a question. |
set | List | Sets the item's help text (sometimes called description text for layout items likeImage,Page, andSection). |
set | List | Sets the number of points a gradeable item is worth. |
set | List | Sets whether the respondent must answer the question. |
set | List | Sets the item's title (sometimes called header text, in the case of aSection). |
Detailed documentation
createChoice(value)
Creates a new choice.
Parameters
| Name | Type | Description |
|---|---|---|
value | String | the choice's value, which respondents see as a label when viewing the form |
Return
Choice — the new choice
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
createChoice(value, isCorrect)
Creates a new choice.
Parameters
| Name | Type | Description |
|---|---|---|
value | String | the choice's value, which respondents see as a label when viewing the form |
is | Boolean | whether the choice is a correct answer |
Return
Choice — the new choice
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
createChoice(value, navigationItem)
Creates a new choice with a page-navigation option that jumps to a given page-break item. Thisis equivalent tocreate withnavigation set toForm. Choices that use pagenavigation cannot be combined in the same item with choices that do not use page navigation.
The page navigation occurs after the respondent completes a page that contains the option,and only if the respondent chose that option. If the respondent chose multiple options withpage-navigation instructions on the same page, only the last navigation option has any effect.Page navigation also has no effect on the last page of a form.
Parameters
| Name | Type | Description |
|---|---|---|
value | String | the choice's value, which respondents see as a label when viewing the form |
navigation | Page | the item to navigate to |
Return
Choice — the new choice
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
createChoice(value, navigationType)
Creates a new choice with a page-navigation option. Choices that use page navigation cannot becombined in the same item with choices that do not use page navigation.
The page navigation occurs after the respondent completes a page that contains the option,and only if the respondent chose that option. If the respondent chose multiple options withpage-navigation instructions on the same page, only the last navigation option has any effect.Page navigation also has no effect on the last page of a form.
Parameters
| Name | Type | Description |
|---|---|---|
value | String | the choice's value, which respondents see as a label when viewing the form |
navigation | Page | the choice's navigation type |
Return
Choice — the new choice
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
createResponse(response)
Creates a newItem for this list item. Throws an exception if theresponse argument does not match a valid choice for this item.
Parameters
| Name | Type | Description |
|---|---|---|
response | String | a valid answer for this list item |
Return
Item — the item response
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
duplicate()
Creates a copy of this item and appends it to the end of the form.
Return
List — a duplicate of thisList, for chaining
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
getChoices()
getFeedbackForCorrect()
Returns the feedback that is shown to respondents when they respond correctly to a question.
Return
Quiz — the feedback, if any.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
getFeedbackForIncorrect()
Returns the feedback that is shown to respondents when they respond incorrectly to a question.
Return
Quiz — the feedback, if any.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
getHelpText()
Gets the item's help text (sometimes called description text for layout items likeImage,Page, andSection).
Return
String — the item's help text or description text
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
getId()
Gets the item's unique identifier.
Return
Integer — the item's ID
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
getIndex()
Gets the index of the item among all the items in the form.
Return
Integer — the index of the item
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
getPoints()
Returns the point value of a gradeable item.
Return
Integer — the number of points a question is worth.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
getTitle()
Gets the item's title (sometimes called header text, in the case of aSection).
Return
String — the item's title or header text
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
getType()
isRequired()
Determines whether the respondent must answer the question.
Return
Boolean — whether the respondent must answer the question
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
setChoiceValues(values)
Sets the choices for an item from an array of strings. Throws an exception if the given arrayis empty.
// Open a form by ID and add a new list item.constform=FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');constitem=form.addListItem();item.setTitle('Do you prefer cats or dogs?');item.setChoiceValues(['Dogs','Cats']);
Parameters
| Name | Type | Description |
|---|---|---|
values | String[] | the array of choice values, which respondents see as labels when viewing the form |
Return
List — thisList, for chaining
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
setChoices(choices)
Sets an array of choices for an item. Throws an exception if the given array is empty orcontains anull element.
// Open a form by ID and add a new list item.constform=FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');constitem=form.addListItem();item.setTitle('Do you prefer cats or dogs?');item.setChoices([item.createChoice('Cats'),item.createChoice('Dogs')]);
Parameters
| Name | Type | Description |
|---|---|---|
choices | Choice[] | an array of choices |
Return
List — thisList, for chaining
Throws
Error — if the given array isnull, empty, or contains anull element
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
setFeedbackForCorrect(feedback)
Sets the feedback to be shown to respondents when they respond correctly to a question.
// Open a form by ID and add a new list item.constform=FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');constitem=form.addListItem();item.setTitle('Do you prefer cats or dogs?');// Set "Dogs" as the correct answer to this question.item.setChoices([item.createChoice('Dogs',true),item.createChoice('Cats',false),]);// Add feedback which will be shown for correct responses; ie "Dogs".item.setFeedbackForCorrect(FormApp.createFeedback().setDisplayText('Dogs rule, cats drool.').build(),);
Parameters
| Name | Type | Description |
|---|---|---|
feedback | Quiz | the new feedback. A null value will clear the feedback. |
Return
List — thisList, for chaining
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
setFeedbackForIncorrect(feedback)
Sets the feedback to be shown to respondents when they respond incorrectly to a question.
Parameters
| Name | Type | Description |
|---|---|---|
feedback | Quiz | the new feedback |
Return
List — thisList, for chaining
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
setHelpText(text)
Sets the item's help text (sometimes called description text for layout items likeImage,Page, andSection).
Parameters
| Name | Type | Description |
|---|---|---|
text | String | the new help text |
Return
List — thisList, for chaining
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
setPoints(points)
Sets the number of points a gradeable item is worth. The default for new items is 0.
Parameters
| Name | Type | Description |
|---|---|---|
points | Integer | the number of a points a question item is worth |
Return
List — thisList, for chaining
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
setRequired(enabled)
Sets whether the respondent must answer the question.
Parameters
| Name | Type | Description |
|---|---|---|
enabled | Boolean | whether the respondent must answer the question |
Return
List — the current item (for chaining)
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
setTitle(title)
Sets the item's title (sometimes called header text, in the case of aSection).
Parameters
| Name | Type | Description |
|---|---|---|
title | String | the new title or header text |
Return
List — thisList, for chaining
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/forms
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-12-11 UTC.