Я применяю пользовательский спиннер, используя привязку данных.Ранее я передавал массив из массива строк ресурсов, теперь я получаю данные с сервера, и мне нужно поместить этот массив в счетчик, так как я могу сделать это динамически?Как и здесь, я использую атрибут android: records. Проблема: Как обновить значения счетчика, если при извлечении данных из API?
<data>
<variable
name="model"
type="com.abc.online.viewmodels.StoreHomeViewModel" />
</data>
<Spinner
android:id="@+id/isspSelectCity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:entries="@array/country_code_list"
android:gravity="center"
android:onItemSelected="@{(parent,view,pos,id)->model.onCitySelectItem(parent,view,pos,id)}" />
</LinearLayout>
я заменяю
android:entries="@array/country_code_list"
на
android:entries="@{model.fetchCountriesCode()}"
Вот функция для получения городов
public List<String> fetchCountriesCode(){
List<String> list=new ArrayList<>();
if (getCitiesObj().getValue()!=null) {
Result[] cities = getCitiesObj().getValue().get(0).getResult();
for (Result cit : cities) {
list.add(cit.getName());
}
} return list;}
android: записи принимают значения, если мы уже перечислили до рендеринга, не принимают / обновляют значения после рендеринга.так как я могу это сделать?