Я ищу способ присвоения значения моему классу viewModel таким образом, чтобы оно сохранялось во всех фрагментах действия. Присвоение значения как mViewModel = serializedPOJO;
не работает, и единственный известный мне способ - вызывать mViewModel.setFieldValue(serializedPOJO.getFieldValue());
для каждого поля в классе, и я считаю, что должен быть более простой способ, чем этот.
Вот мой код:
POJOViewModel.class
public class POJOViewModel extends ViewModel {
private String id;
private String clientName;
private String date;
public POJOViewModel() {
}
public String getClientName() {
return clientName;
}
public void setClientName(String clientName) {
this.clientName = clientName;
}
//And similar getter setters
...
}
Activity.java
public class Activity extends AppCompatActivity {
private POJOViewModel mViewModel, serializedJSON;
@Override
protected void onCreate(final Bundle savedInstanceState) {
mViewModel = ViewModelProviders.of(this).get(POJOViewModel.class);
ActivityArgs args = ActivityArgs.fromBundle(getIntent().getExtras()); //Contains data sent from previous activity
mViewModel = args.getFormData(); //Assignment. However, mViewModel holds data, it doesn't persist when accessed from another fragment.
}
}