Как заменить значение строки в массиве строк?
Загружаю список строк names.
override fun onLoadSuccess(result: List<TransactionListItem>, names: List<String>) {
data = result
nameSuggestions = names
contract.dataSetChanged()
}
Но суть в том, что в names мне приходят строки типа:
Electronics & Software
Но мне вместо & нужно отобразить просто &.
Я так понимаю можно это сделать с помощью функкции расширения replace но она применяется к строке, а мне необходимо для всего списка применить данное правило.
UPD:
Переменная для которой хочу применить изменения
var nameSuggestions: List<String> = emptyList()
private set
и в месте где сэчу значения сейчас делаю следующим образом:
override fun onLoadSuccess(result: List<TransactionContentViewModel>, names: List<String>) {
data = result
nameSuggestions = names.map {
it.replace("&", "&")
}
contract.dataSetChanged()
}
Но если обращаюсь после из фрагмента к переменной nameSuggestions всё равно получаю значения с Electronics & Software
Код во фрагменте:
private fun updateAutoCompleteList() {
val adapter = ArrayAdapter<String>(activity ?: return,
android.R.layout.simple_dropdown_item_1line, searchTransactionsPresenter.nameSuggestions)
searchInputView?.setAdapter(adapter)
}