viewpager中的谷歌地图android V2不会出现在第一页

viewpager中的谷歌地图android V2不会出现在第一页,android,android-viewpager,fragment,android-maps-v2,Android,Android Viewpager,Fragment,Android Maps V2,我已经在一个视图寻呼机中实现了GoogleMapsV2。下面是我的代码 活动和适配器: public class MainActivity extends FragmentActivity { FragmentManager fm; FragmentTransaction ft; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s

我已经在一个视图寻呼机中实现了GoogleMapsV2。下面是我的代码

活动和适配器:

public class MainActivity extends FragmentActivity {
FragmentManager fm;
FragmentTransaction ft;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ArrayList<LatLng> alLL = new ArrayList<LatLng>();
    alLL.add(new LatLng(23, 65));
    alLL.add(new LatLng(49, 65));
    alLL.add(new LatLng(70, 65));
    alLL.add(new LatLng(32, 65));
    alLL.add(new LatLng(10, 65));
    ViewPagerAdapter adapter = new ViewPagerAdapter(this, alLL);
    ViewPager myPager = (ViewPager) findViewById(R.id.myfivepanelpager);
    myPager.setAdapter(adapter);
    myPager.setOffscreenPageLimit(0);
    myPager.setCurrentItem(0);

}

public class ViewPagerAdapter extends PagerAdapter {

    ArrayList<LatLng> alLL;
    LayoutInflater inflater;

    public ViewPagerAdapter(Activity context, ArrayList<LatLng> ll) {
        super();
        alLL = ll;
        inflater = context.getLayoutInflater();
    }

    @Override
    public Object instantiateItem(View collection, int position) {
        Log.v("Instantiate object", "pager adapter");
        View view = inflater.inflate(R.layout.pages, null);
        TextView tvTitle = (TextView) view.findViewById(R.id.tvTitle);
        MyMapFragment map = new MyMapFragment();
        Bundle bundle = new Bundle();
        bundle.putDouble("lat", alLL.get(position).latitude);
        bundle.putDouble("lng", alLL.get(position).longitude);
        map.setArguments(bundle);
        getSupportFragmentManager().beginTransaction()
                .add(R.id.flMain, map, "" + position).commit();

        tvTitle.setText("" + position);
        ((ViewPager) collection).addView(view, 0);
        return view;
    }

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

    @Override
    public void destroyItem(View arg0, int arg1, Object arg2) {
        Log.v("Pager adapter", "ondestroyitem called");
        ((ViewPager) arg0).removeView((View) arg2);
    }

    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {
        // TODO Auto-generated method stub
        return arg0 == ((View) arg1);
    }

    @Override
    public Parcelable saveState() {
        return null;
    }

}
}
我面临的问题是每当我写作时

getSupportFragmentManager().beginTransaction()
                .add(R.id.flMain, map, "" + position).commit();
地图不会出现在第一页,直到我滚动到接下来的几页,当我回到第一页时,地图才会出现

当我使用

getSupportFragmentManager().beginTransaction()
                .replace(R.id.flMain, map, "" + position).commit();
每个页面上的地图先出现,然后在一段时间后消失,但仍保留在最后一页

使用add或replace是实现这一点的正确方式


以及如何克服我在每个问题上面临的问题?

完美解决我们的问题:

 public class MyAdapter extends FragmentPagerAdapter {  
    public MyAdapter(FragmentManager fragmentManager) {
            super(fragmentManager);         
                                              }

        @Override public int getCount() { 
            return alLL.size(); }

        @Override public Fragment getItem(int position) { 
            return fragments.get(position); }

        @Override public Object instantiateItem(View container, int position) {
            View view => LayoutInflater.from(FragmentMainActivity.this).inflate(R.layout.pages,
 null);             
fm.beginTransaction().replace(R.id.flMain,> f
ragments.get(position), ""+position).commit(); ((ViewPager) container).addView(view, 0);            return view; }
        }

完美解决我们的问题:

 public class MyAdapter extends FragmentPagerAdapter {  
    public MyAdapter(FragmentManager fragmentManager) {
            super(fragmentManager);         
                                              }

        @Override public int getCount() { 
            return alLL.size(); }

        @Override public Fragment getItem(int position) { 
            return fragments.get(position); }

        @Override public Object instantiateItem(View container, int position) {
            View view => LayoutInflater.from(FragmentMainActivity.this).inflate(R.layout.pages,
 null);             
fm.beginTransaction().replace(R.id.flMain,> f
ragments.get(position), ""+position).commit(); ((ViewPager) container).addView(view, 0);            return view; }
        }

完美解决我们的问题:

 public class MyAdapter extends FragmentPagerAdapter {  
    public MyAdapter(FragmentManager fragmentManager) {
            super(fragmentManager);         
                                              }

        @Override public int getCount() { 
            return alLL.size(); }

        @Override public Fragment getItem(int position) { 
            return fragments.get(position); }

        @Override public Object instantiateItem(View container, int position) {
            View view => LayoutInflater.from(FragmentMainActivity.this).inflate(R.layout.pages,
 null);             
fm.beginTransaction().replace(R.id.flMain,> f
ragments.get(position), ""+position).commit(); ((ViewPager) container).addView(view, 0);            return view; }
        }

完美解决我们的问题:

 public class MyAdapter extends FragmentPagerAdapter {  
    public MyAdapter(FragmentManager fragmentManager) {
            super(fragmentManager);         
                                              }

        @Override public int getCount() { 
            return alLL.size(); }

        @Override public Fragment getItem(int position) { 
            return fragments.get(position); }

        @Override public Object instantiateItem(View container, int position) {
            View view => LayoutInflater.from(FragmentMainActivity.this).inflate(R.layout.pages,
 null);             
fm.beginTransaction().replace(R.id.flMain,> f
ragments.get(position), ""+position).commit(); ((ViewPager) container).addView(view, 0);            return view; }
        }

嘿你找到解决办法了吗?我也厌倦了这个问题。@jay还没有,仍然面临着这个问题Hey!你找到解决办法了吗?我也厌倦了这个问题。@jay还没有,仍然面临着这个问题Hey!你找到解决办法了吗?我也厌倦了这个问题。@jay还没有,仍然面临着这个问题Hey!你找到解决办法了吗?我也厌倦了这个问题。@jay还没有,仍然面临使用此适配器类而不是viewpageradapterfor(int i=0;ievu vijay??jayesh ne barabar batavi Deje使用此适配器类而不是viewpageradapterfor(int i=0;ievu vijay??jayesh ne barabar batavi Deje使用此适配器类而不是viewpageradapterfor(int i=0;ievu vijay??jayesh ne barabar batavi deje使用此适配器类而不是viewpageradapterfor(int i=0;ievu vijay??jayesh ne barabar batavi deje)