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
    })
  ...
}