Ide*_*dee 7 android android-livedata android-architecture-components
我尝试初始化我的 LiveData 对象,但它给出了错误:“LiveData 是抽象的,无法实例化”
LiveData listLiveData = new LiveData<>();
在 ViewModel 中,您可能想使用MutableLiveData它。
例如:
class MyViewModel extends ViewModel {
private MutableLiveData<String> data = new MutableLiveData<>();
public LiveData<String> getData() {
return data;
}
public void loadData() {
// Do some stuff to load the data... then
data.setValue("new data"); // Or use data.postValue()
}
}
Run Code Online (Sandbox Code Playgroud)
或者,在 Kotlin 中:
class MyViewModel : ViewModel() {
private val _data = MutableLiveData<String>()
val data: LiveData<String> = _data
fun loadData() {
viewModelScope.launch {
val result = // ... execute some background tasks
_data.value = result
}
}
}
Run Code Online (Sandbox Code Playgroud)
由于它是抽象的(如 @CommonsWare 所说),您需要将其扩展为子类,然后根据形式重写方法:
public class LiveDataSubClass extends LiveData<Location> {
}
Run Code Online (Sandbox Code Playgroud)
请参阅文档了解更多详细信息
| 归档时间: |
|
| 查看次数: |
3328 次 |
| 最近记录: |