gradle
implementation 'androidx.lifecycle:lifecycle-extensions:2.4.0'
gradle
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'
public class CustomLiveData extends LiveData<String> {
private static CustomLiveData instance;
public static CustomLiveData getInstance() {
if (instance == null) {
instance = new CustomLiveData();
}
return instance;
}
public void setData(String data) {
setValue(data);
}
}
public class CustomViewModel extends ViewModel {
private CustomLiveData liveData;
public LiveData<String> getLiveData() {
if (liveData == null) {
liveData = CustomLiveData.getInstance();
}
return liveData;
}
}
public class MainActivity extends AppCompatActivity {
private CustomViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewModel = new ViewModelProvider(this).get(CustomViewModel.class);
viewModel.getLiveData().observe(this, new Observer<String>() {
@Override
public void onChanged(String data) {
}
});
}
}