ViewModel에서 LiveData 객체를 초기화하는 방법을 찾고 있습니다. 항목은 현재 활동에서 setQuery 메소드가 호출 될 때만 초기화됩니다.AndroidViewModel에서 LiveData 초기화
public class MyListViewModel extends AndroidViewModel {
private final LiveData <List<Item>> items;
private final MutableLiveData<String> query = new MutableLiveData<>();
private MyDatabase db;
public MyListViewModel(Application application) {
super(application);
db = MyDatabase.getInstance(application);
items = Transformations.switchMap(query, (search)->{
if (search == null || search.trim().length() == 0) {
return db.itemDao().getAllItems();
} else {
return db.itemDao().findItemsBySearchTerm(search);
}
});
}
public LiveData<List<Item>> getItems() {
return items;
}
public void setQuery(String queryText) {
query.setValue(queryText);
}
}
당신이 활동에서 초기 호출을 피할 수 있도록 항목 변환 초기화 아래'setQuery를 ("")'를 호출 시도 – adityakamble49