2014-10-04 52 views
0

我有一个应用程序,包含托管ViewPager的单个活动。admob插页式,viewpager和页面旋转错误?

该ViewPager有几个片段。

其中一个片段由一个gridView组成。

单击gridItem时,我会启动一个活动来显示Admob插页式广告。

这可行,但似乎有一个错误:如果我在显示插页式广告的同时旋转设备,则会创建并显示第二个非页内广告活动?

我试着从FragmentStatePagerAdapter更改为FragmentPagerAdapter,但这并没有改变。

伪代码:

1)在MainActivity:

Main Activity :: onCreate: 
    viewPager.setAdapter(new MyPagerAdapter(getSupportFragmentManager())) 

public class MyPagerAdapter extends FragmentStatePagerAdapter { ... } 

2)在片段包含GridView控件:

public class MyFragment extends Fragment { 

    gridView.setOnItemClickListener(itemClickListener); 

} 

AdapterView.OnItemClickListener itemClickListener = new AdapterView.OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) { 
     Intent intent = new Intent(getActivity(), AdmobInterstitial.class); 
     startActivityForResult(intent, 0); 
    } 
}; 

@Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     Log.d(TAG, "onActivityResult " + requestCode + " - " + resultCode); 
     // do other stuff 
    } 

回答

0

您的问题,可能是因为你正在推出自己的活动从显示插页式广告。我怀疑发生了什么事情是因为您的活动意图在您旋转时排队并进行了部分处理(包括显示插页式广告)。这意味着它将在旋转后重新计划,导致再次显示插页式广告。

解决方案:

  1. 直接从您的第一项活动显示插页。即没有活动来专门显示插页式广告。
  2. 查看您的第二活动的代码,并确定它为什么会导致插页式广告重新显示。