2014-10-04 4 views
0

У меня есть приложение, состоящее из одного действия, в котором размещается ViewPager.admob interstitial, 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

Ваша проблема скорее всего, происходит потому, что вы запускаете свою собственную активность, с которой показано интерстициальное. Я подозреваю, что происходит то, что намерение для вашей деятельности ставится в очередь и частично обрабатывается (включая показ Interstitial) во время поворота. Это означает, что он будет перенесен после вращения, в результате чего Interstitial будет отображаться снова.

Решение:

  1. Показать интерстициальный непосредственно из вашей первой деятельности. Т.е. нет активности, чтобы конкретно показывать интерстициальный.
  2. Просмотрите свой код 2-го действия и выясните, почему он вызывает повторное отображение интерстициального контента.
Смежные вопросы