使用ViewPager滑动时,Fragment不会调用OnResume()

Ahl*_*rar 7 android onresume android-fragments baseadapter android-studio

解释我的问题:

我花了很多时间,但我不能让它工作.我在主要的activty中使用(Tabhost)包含三个片段的视图寻呼机.我的ViewPagerAdapter类扩展FragmentStatePagerAdapter.

OnResume()当我滑动View时,我面临的问题是没有调用我的方法.我想在刷卡时更新viewpager片段的视图.

我的OnResume()方法仅在我单击该ListView项目并再次返回时调用.但是当我在ListView上按OnLongClick时,其他片段不会刷新.

注意:我知道这个问题之前是问过,但这些解决方案都没有帮助我.

注2:当我的手机进入睡眠状态时,解锁手机第二个片段后调用onResume()

OnResume()在第一个标签中的方法:

 @Override
public void onResume() {
    super.onResume();

    adapterLogin.notifyDataSetChanged();
}
Run Code Online (Sandbox Code Playgroud)

我的OnResume()方法在第二个标签中:

 @Override
public void onResume() {
    super.onResume();
   adapterLogin.UpdateView(databaseHelper.getAllVoitureFavourite(1,username));
   adapterLogin.notifyDataSetInvalidated();
   adapterLogin.notifyDataSetChanged();


}
Run Code Online (Sandbox Code Playgroud)

我的UpdateView()方法BaseAdapter:

public void UpdateView(List<Voiture> items) {
    this.voitureList = items;
    notifyDataSetInvalidated();
    notifyDataSetChanged();

}
Run Code Online (Sandbox Code Playgroud)

我的应用程序的屏幕截图更多了解mu问题:

在此输入图像描述

任何帮助将不胜感激.

小智 9

使用setUserVisibleHint(boolean isVisibleToUser).

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (isVisibleToUser) {
       // Do your stuff here
    }

}
Run Code Online (Sandbox Code Playgroud)