在android中的片段中多次调用onCreate

在android中的片段中多次调用onCreate,android,Android,我的活动中有一个ListView。单击列表项会调用另一个活动。在该活动中,我实现了ViewPager和片段 当它第一次加载onResume()时,onCreate()和onCreateView()方法调用两次,如果我单击第一个列表项。(即,它加载第一个和第二个碎片视图) 当我单击除first之外的任何其他列表片段时,它会调用onResume()、onCreate()和onCreateView()方法三次(即加载previous和after并单击view) 这是绝对好,但我有谷歌分析代码,我必须跟

我的活动中有一个ListView。单击列表项会调用另一个活动。在该活动中,我实现了ViewPager和片段

当它第一次加载onResume()时,onCreate()和onCreateView()方法调用两次,如果我单击第一个列表项。(即,它加载第一个和第二个碎片视图) 当我单击除first之外的任何其他列表片段时,它会调用onResume()、onCreate()和onCreateView()方法三次(即加载previous和after并单击view)

这是绝对好,但我有谷歌分析代码,我必须跟踪只有当前页面,所以我可以把这个代码加载到只有当前页面

我的问题是我的googleAnalytics代码第一次跟踪了三到两页,即使用户没有浏览这些页面,如何避免这种情况

My code is as below for fragment 


    public class MainListActivity extends Activity{
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.v(TAG, "onCreate()");
    CustomFragmentPagerAdapter adapter = new CustomFragmentPagerAdapter();
    viewPager.setAdapter(adapter);


    }
    }

//code for fragment adapter 

    public class CustomFragmentPagerAdapter extends FragmentPagerAdapter {
    public CustomFragmentPagerAdapter(FragmentManager fm) {
            super(fm);

        }
    @Override
        public Fragment getItem(int pos) {
            CustomFragment customFragment = new CustomFragment();
            arrayList.add(customFragment);
            return customFragment;


    }




    @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return arrayList.size();
        }

    }


//code for fragment

public class CustomFragment extends Fragment{
public CustomFragment() {
        super();

    }
@Override
    public void onResume() {
        super.onResume();
        Log.v(TAG, "onCreate -Resume");
    }
    @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            Log.v(TAG, "onCreate");
    }
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
        super.onCreateView(inflater, container, savedInstanceState);
        Log.v(TAG, "onCreateView");
return myAnyView;

}
}

问题是对所有片段调用onResume()方法,包括不可见的片段。 请在此处查看gorn的答案:

你必须重写

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);

    if (isVisibleToUser) {
        // Your logic
    }

请用一些标点符号改写你的问题。我已经编辑了我的问题