the fragment can be re-created when navigating to the save progress
fragment. when it is re-created the view model instance is re-created too,
losing the unsaved transaction
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
- Activity activity = getActivity();
+ FragmentActivity activity = getActivity();
if (activity == null)
throw new RSInvalidStateException(
"getActivity() returned null within onActivityCreated()");
list = activity.findViewById(R.id.new_transaction_accounts);
if (activity == null)
throw new RSInvalidStateException(
"getActivity() returned null within onActivityCreated()");
list = activity.findViewById(R.id.new_transaction_accounts);
- viewModel = ViewModelProviders.of(this)
+ viewModel = ViewModelProviders.of(activity)
.get(NewTransactionModel.class);
mProfile = Data.profile.getValue();
listAdapter = new NewTransactionItemsAdapter(viewModel, mProfile);
.get(NewTransactionModel.class);
mProfile = Data.profile.getValue();
listAdapter = new NewTransactionItemsAdapter(viewModel, mProfile);