user13036081 :
How can we use livedata in spinners? I have the following:
ArrayAdapter<CharSequence> adapter;
LiveData<List<Site>> sites = SiteDatabase.getInstance(this).siteDao().getAllSites();
Spinner spinner = findViewById(R.id.spinnerSites);
adapter = new ArrayAdapter<Site>(this,
this,android.R.layout.simple_spinner_dropdown_item, sites); //What Goes Here ? This gives Cannot Resolve Constructor Error...
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
Thanks!
iCantC :
You need to replace this line
adapter = new ArrayAdapter<Site>(this,android.R.layout.simple_dropdown_item_1line, sites);
with this
adapter = new ArrayAdapter<Site(this,android.R.layout.simple_dropdown_item_1line, sites.getValue());
The signature for your ArrayAdapter
is like this ArrayAdapter(Context context, int resource, List<Site> objects)
. You are correctly passing the Context
and int
param however the last param needs to be a List<Site>
instead of a LiveData<List<Site>
.