抽象アンドロイドです:LiveDataは私LiveDataオブジェクトを初期化しようと、それはエラーになります
LiveData listLiveData =新しいLiveData <>(「LiveDataが抽象的である、それはインスタンス化することはできません」);
抽象アンドロイドです:LiveDataは私LiveDataオブジェクトを初期化しようと、それはエラーになります
LiveData listLiveData =新しいLiveData <>(「LiveDataが抽象的である、それはインスタンス化することはできません」);
それはあなたがサブクラスにそれを拡張して、フォームに必要に応じてメソッドをオーバーライドする必要があります(@CommonsWareが言うように)抽象的なので:
public class LiveDataSubClass extends LiveData<Location> {
}
は、ViewModelにでdocs for more details
を参照してください。代わりに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()
}
}
どのようにあなたのオブジェクトを初期化していますか?何が起こっているのかを確認できるようにコードを含めてください。 –
umです。これは、 'LiveData'が' abstract'であるためです。あなたはここで 'LiveData'で何をしようとしていますか? 'LiveData'のサブクラスを作成するか、' MutableLiveData'を使用する必要があります。 – CommonsWare