Android 调用了两次ViewPager片段的getItem()
我正在用android做刷卡应用程序。但是我遇到了一个问题,getItem()方法 一开始他打了两次电话。我试图解决这个问题,但没有找到解决办法。请帮帮我 找出解决办法。下面是我的代码片段:- 公共类显示emibofquestionactivity扩展了FragmentActivity{Android 调用了两次ViewPager片段的getItem(),android,android-fragments,android-viewpager,Android,Android Fragments,Android Viewpager,我正在用android做刷卡应用程序。但是我遇到了一个问题,getItem()方法 一开始他打了两次电话。我试图解决这个问题,但没有找到解决办法。请帮帮我 找出解决办法。下面是我的代码片段:- 公共类显示emibofquestionactivity扩展了FragmentActivity{ private ViewPager pager; private int savePosition; private Context context; private String fragTag1; pri
private ViewPager pager;
private int savePosition;
private Context context;
private String fragTag1;
private String fragTag2;
/*
* (non-Javadoc)
*
* @see android.support.v4.app.FragmentActivity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.common_emi_bof_display_question);
context = getLayoutInflater().getContext();
if(Helper.isTablet)
{
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}else
{
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
// Initialise the pager
pager = (ViewPager) findViewById(R.id.viewpager);
pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
/**
* on swiping the viewpager make respective tab selected
* */
pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
public void onPageSelected(int position) {}
public void onPageScrolled(int position, float arg1, int arg2) {}
public void onPageScrollStateChanged(int arg0) {
}
});
getPager().setPageTransformer(true, new SwipeAnimation());
}
public ViewPager getPager() {
return pager;
}
public void setPager(ViewPager pager) {
this.pager = pager;
}
public String getFragTag1() {
return fragTag1;
}
public void setFragTag1(String fragTag1) {
this.fragTag1 = fragTag1;
}
public String getFragTag2() {
return fragTag2;
}
public void setFragTag2(String fragTag2) {
this.fragTag2 = fragTag2;
}
public class MyPagerAdapter extends FragmentPagerAdapter {
public MyPagerAdapter(FragmentManager fragmentManager) {
super(fragmentManager);
}
@Override
public Fragment getItem(int pos) {
System.out.println("************** "+pos);
Helper.currentQuestion = pos;
if(Helper.randomQuestionList.get(pos).getSubQuestionType().equals(QuestionType.BOF.toString()))
return new DisplayBOFQuestionFragment();
else
return new DisplayEMIQuestionFragment();
}
@Override
public int getCount() {
return Helper.NUMBEROFQUESTIONS;
}
@Override
public CharSequence getPageTitle(int position) {
return super.getPageTitle(position);
}
}
public void setPagerPosition(int pos){
pager.setCurrentItem(pos);
}
}它会得到一个片段和两个相邻的片段(这里只有一个片段),所以当您滑动到Tab2时,首先会让Tab1和Tab2做好准备,在Tab2,selected也会为Tab3调用getItem以准备刷卡。这是默认行为。.它也会加载相邻页面。.那么有其他方法解决此问题吗?您的要求是什么?