Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中将livedata添加到spinner_Java_Android - Fatal编程技术网

如何在Java中将livedata添加到spinner

如何在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

如何在微调器中使用livedata?我有以下资料:

    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()
有了必要的数据,你的微调器就会流畅地工作。