我无法使用 ViewModel 在 sppiner 中设置条目,知道吗?
I cannot set entries in sppiner with ViewModel, any idea?
我正在为此尝试在微调器中设置值,我有以下代码:
Strings.xml
<string-array name="entries_list">
<item>A</item>
<item>B</item>
<item>C</item>
<item>D</item>
<item>E</item>
</string-array>
ListViewModel.java
...
public MutableLiveData<List<String>> entries = new MutableLiveData<>();
public ListViewModel(Application application){
super(application);
List<String> entries = Arrays.asList(getApplication().getResources().getStringArray(R.array.entries_list));
this.professions.setValue(entries);
}
...
layout_list.xml
....
<data>
<variable
name="listViewModel"
type="com.myapp.ListViewModel" />
</data>
....
<Spinner
android:id="@+id/spnEntries"
app:entries='@={listViewModel.entries}'/>
....
但是当我尝试执行时出现下一个错误:
****/ data binding error ****msg:Cannot find the setter for attribute 'app:entries' with parameter type
android.arch.lifecycle.MutableLiveData>
...
知道如何解决这个问题吗?
谢谢。
请为 ViewModel 和存储库添加完整代码。也试试这个,让我知道它是否有效
android:entries="@array/entries_list"
我正在为此尝试在微调器中设置值,我有以下代码:
Strings.xml
<string-array name="entries_list">
<item>A</item>
<item>B</item>
<item>C</item>
<item>D</item>
<item>E</item>
</string-array>
ListViewModel.java
...
public MutableLiveData<List<String>> entries = new MutableLiveData<>();
public ListViewModel(Application application){
super(application);
List<String> entries = Arrays.asList(getApplication().getResources().getStringArray(R.array.entries_list));
this.professions.setValue(entries);
}
...
layout_list.xml
....
<data>
<variable
name="listViewModel"
type="com.myapp.ListViewModel" />
</data>
....
<Spinner
android:id="@+id/spnEntries"
app:entries='@={listViewModel.entries}'/>
....
但是当我尝试执行时出现下一个错误:
****/ data binding error ****msg:Cannot find the setter for attribute 'app:entries' with parameter type android.arch.lifecycle.MutableLiveData> ...
知道如何解决这个问题吗?
谢谢。
请为 ViewModel 和存储库添加完整代码。也试试这个,让我知道它是否有效
android:entries="@array/entries_list"