Android 将实时数据从ViewModel发送到ViewPager2的适配器

Android 将实时数据从ViewModel发送到ViewPager2的适配器,android,viewmodel,android-livedata,android-viewpager2,mutablelivedata,Android,Viewmodel,Android Livedata,Android Viewpager2,Mutablelivedata,我有一个sharedViewModel,它带有一个实时数据变量,可以将数据发送到我的片段,一切都很顺利,我可以捕获片段中的变量。 但是,根据建议,我在onViewCreated中获得sharedViewModel,如下所示: @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, save

我有一个sharedViewModel,它带有一个实时数据变量,可以将数据发送到我的片段,一切都很顺利,我可以捕获片段中的变量。 但是,根据建议,我在onViewCreated中获得sharedViewModel,如下所示:

@Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        DataInitialViewModel initial = new ViewModelProvider(requireActivity()).get(DataInitialViewModel .class);
        initial .getStatusUser().observe(getViewLifecycleOwner(), new Observer<String>() {
            @Override
            public void onChanged(String s) {
                if(ConstsSubscribe.USER_STANDARD.equals(s)){
                    if(adapter != null)
                        isAssinante = true;
                        Toast.makeText(getContext(), "test", Toast.LENGTH_SHORT).show(); // Never enter here

                }else{
                    if(adapter != null)
                        isAssinante = false;
                        Toast.makeText(getContext(), "comaefeq", Toast.LENGTH_SHORT).show(); // Never enter too...
                }
            }
        });
    }

我在onCreateView上阅读了实时数据,效果很好,是我问题的唯一解决方案,即使困难也不会更大

adapter = new DieAdapter(root.getContext(), dieArrayListAdp, manager, isAssinante); // var isAssinante is never updated... adapter is send to ViewPager2 to setAdapter command after.