#java #android #android-studio #spinner
Вопрос:
Я хочу создать виджет spinner, и я добавил это в string.xml
:
<string-array name="options">
<item>All Tasks</item>
<item>Today's Tasks</item>
<item>Tomorrow's Tasks</item>
<item>Archived Tasks</item>
</string-array>
и я адаптировал его:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.options, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
и я получил ошибку сборки:
Cause: startElement.getAttributeByName(QName("name")) must not be null
Как я могу это решить?
Ответ №1:
Специальные символы, такие как апостроф (‘), не допускаются в xml напрямую, можно использовать escape-последовательности для получения желаемого результата.
Заменить: Сегодняшнее на сегодняшнее
Используйте символ обратной косой черты перед апострофом ‘
Ответ №2:
В String.xml
замените «Строку, которую вы ввели» на строку, которую вы ввели
или просто удалите «» эти
Ответ №3:
Попробуйте заменить :
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.options, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
Автор: :
final String options = getResources().getStringArray(R.array.options);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_dropdown_item, options);
spinner.setAdapter(adapter);
Пожалуйста, дайте мне знать, если это сработает.
Спасибо
Комментарии:
1. Нет. Проблема была в том, что». Знак ‘ непригоден для использования.
2. ДА. Мне нужно было изменить «сегодняшние задачи» на сегодняшние задачи и добавить » — с помощью кода
3. Я очень рад слышать, что ваша проблема решена.
4. 😊 Добро Пожаловать 😊