У меня есть модель, которая запускается на моей «MainActivity». java », которая называется так:
//MainActivity.java (public class MainActivity extends AppCompatActivity {...)
...
private ModelName mViewModel;
...
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mViewModel = new ViewModelProvider(this).get(ModelName.class);
}
...
На данный момент я использовал это приближение в каждом из моих фрагментов для создания экземпляра. та же модель и сможет взаимодействовать с переменными внутри нее:
//FragmentClass.java (public class F1_Start_Acquisition extends Fragment {...)
...
private ModelName mViewModel;
...
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.f1__test__fragment, container, false);
mViewModel = ViewModelProviders.of((FragmentActivity)
getActivity()).get(ModelName .class);
}
ViewModelProviders.of
устарела, и я везде вижу, что его следует заменить на new ViewModelProvider(this).get(ModelName.class);
, но я не хочу чтобы создать новый экземпляр модели, я просто хочу, чтобы существующий экземпляр уже был создан, и я перепробовал много подходов, которые не работали ...
Может кто-нибудь подскажет, как получить доступ к уже существующему экземпляр модели из класса инициализации Fragment.java
?