код для отображения пользователя в android activity

 public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser && isResumed()) {

            new FacultySyncerBg().execute("");
        }
    }

Это у меня для фрагмента как я могу использовать это в деятельности. Если я скопировал тот же код в действии я получаю ошибку на данный момент, пожалуйста, пришлите мне решение.

3 ответа

  1. Вы пытаетесь вызвать метод фрагмента из действия, этот метод доступен только для фрагментов.

    Согласно документам —

    setUserVisibleHint (boolean isVisibleToUser) — задать подсказку системе
    о том, является ли пользовательский интерфейс этого фрагмента в настоящее время видимым для пользователя.

  2. SetUserVisibleHint (boolean) может использоваться только во фрагменте не в действии
    https://developer.android.com/reference/android/app/Fragment.html#setUserVisibleHint (boolean)

    Установите подсказку системе о том, является ли пользовательский интерфейс этого фрагмента в настоящее время видимым для пользователя. Эта подсказка по умолчанию имеет значение true и сохраняется в состоянии сохранения и восстановления экземпляра фрагмента.

    Приложение может установить значение false, чтобы указать, что пользовательский интерфейс фрагмента прокручивается вне видимости или иным образом непосредственно не виден пользователю. Это может использоваться системой для приоритизации таких операций, как обновление жизненного цикла фрагментов или упорядочивание загрузчика.

  3. Do like this
    
    public class MainActivity extends FragmentActivity {
    
        ViewPager viewPager;
        CustomPagerAdapter adapter;
        ArrayList<Fragment> fragments = new ArrayList<>();
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            viewPager = (ViewPager)findViewById(R.id.viewPager);
            adapter = new CustomPagerAdapter(getSupportFragmentManager(),Fragments());
            viewPager.setAdapter(adapter);
    
            viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
                @Override
                public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
    
                }
    
                @Override
                public void onPageSelected(int position) {
    
                    if (position == 0)
                    {
                        DemoFragment1 fragment1 = (DemoFragment1) fragments.get(0);
                        fragment1.setUserVisibleHint(true);
                    }
    
                }
    
                @Override
                public void onPageScrollStateChanged(int state) {
    
                }
            });
        }
    
        public ArrayList<Fragment> Fragments()
        {
            fragments.clear();
    
            fragments.add(new DemoFragment1());
            fragments.add(new DemoFragment2());
            fragments.add(new DemoFragment3());
    
          return fragments;
        }
    
    }