如何在Java中将livedata添加到spinner
如何在微调器中使用livedata?我有以下资料:如何在Java中将livedata添加到spinner,java,android,Java,Android,如何在微调器中使用livedata?我有以下资料: ArrayAdapter<CharSequence> adapter; LiveData<List<Site>> sites = SiteDatabase.getInstance(this).siteDao().getAllSites(); Spinner spinner = findViewById(R.id.spinnerSites); adapter = new Ar
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);
阵列适配器;
LiveData sites=SiteDatabase.getInstance(this.siteDao().getAllSites();
微调器微调器=findViewById(R.id.微调器位置);
适配器=新阵列适配器(此,
这个,android.R.layout.simple\u微调器\u下拉菜单\u项目,站点)//这里有什么?这无法解决构造函数错误。。。
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
旋转器。设置适配器(适配器);
谢谢 您需要更换这一行
adapter = new ArrayAdapter<Site>(this,android.R.layout.simple_dropdown_item_1line, sites);
adapter=newarrayadapter(这是android.R.layout.simple\u下拉列表\u item\u 1line,站点);
用这个
adapter = new ArrayAdapter<Site(this,android.R.layout.simple_dropdown_item_1line, sites.getValue());
adapter=new arrayadapter我不知道你到底在问什么,这是一行代码还是如何在Java中向spinner添加livedata这是我正在尝试使用的代码……我不知道怎么做……但你有什么编译错误,或者你不知道如何处理变量?不过,请澄清这一点。请参阅上面我更新的那一行。只需将构造函数中的站点替换为sites.getValue()。好的,这很有效!但是现在我尝试调用spinner.setAdapter(适配器)上的接口方法int java.util.List.size();确保sites.getValue()方法不返回null或空。调试以确保它不是null还是空的。这意味着SiteDatabase.getInstance(this.siteDao().getAllSites()代码>此行不起作用。检查那里出了什么问题。一旦你的站点.getValue()
有了必要的数据,你的微调器就会流畅地工作。