Java 来自LiveData的微调器适配器
是否可以从Java 来自LiveData的微调器适配器,java,android,Java,Android,是否可以从LiveData为微调器构建ArrayAdapter,而不是通常的List 将ViewModel的LiveData返回值绑定到微调器的最佳做法是什么?如果这正是您的意思,那么: class MyVM : ViewModel() { ... private val mSpinnerData = MutableLiveData<List<String>>() ... fun fetchSpinnerItems(): LiveData<List&
LiveData
为微调器构建ArrayAdapter
,而不是通常的List
将ViewModel的LiveData返回值绑定到微调器的最佳做法是什么?如果这正是您的意思,那么:
class MyVM : ViewModel() {
...
private val mSpinnerData = MutableLiveData<List<String>>()
...
fun fetchSpinnerItems(): LiveData<List<String>> {
//fetch data
mSpinnerData.value = <some fetched list of Strings>
return mSpinnerData
}
}
Gah,我忘了提到Java中的I代码而不是Kotlin>>,LiveData是否可编辑?我们可以使用绑定适配器将listlivedata设置为viewmodel内部的微调器吗?@skyshine,当然可以!我们也可以使用绑定适配器。
class MyActivity : AppCompatActivity() {
private lateinit var mViewModel: MyVM
...
override fun onCreate(outState: Bundle?) {
//initialize your view model here...
mViewModel.fetchSpinnerItems().observe(this, Observer { spinnerData ->
val spinnerAdapter = ArrayAdapter(this, android.R.layout.simple_spinner_item, spinnerData)
mSpinner.adapter = spinnerAdapter
})
...
}