Работа с адаптером массива ListView в onActivityResult () вызывает сбой приложения [дубликат]

Если у вас есть списки со строками, и вы хотите сравнить строки в другом списке с учетом регистра. Вот мое решение.

list1 = map(lambda each:each.lower(), list1)
list2 = map(lambda each:each.lower(), list2)

После этого вы можете легко выполнить сравнение строк.

89
задан blahdiblah 8 February 2013 в 02:55
поделиться

1 ответ

Я попробовал, сам ... Нашел, что это не сработало. Поэтому я проверяю исходный код ArrayAdapter и выяснил проблему. ArrayAdapter, будучи инициализированным массивом, преобразует массив в AbstractList (List), который не может быть изменен.

Решение Используйте вместо ArrayList<String> массив при инициализации ArrayAdapter.

String[] array = {"a","b","c","d","e","f","g"}; 
ArrayList<String> lst = new ArrayList<String>(Arrays.asList(array));
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
android.R.layout.simple_list_item_1, lst); 

Приветствия!

261
ответ дан Shamim Ahmmed 26 August 2018 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: