ОК, я задавал похожий вопрос раньше и получил ответ, но это был слишком общий вопрос.
Теперь у меня есть приложение, в котором есть множество занятий.Каждое действие имеет один и тот же макет AdMob (AdView), включенный в его файл макета.Теперь проблема заключается в том, что, когда я перехожу с одного действия на другое после того, как первый экран завершил загрузку рекламы, второе действие все еще ожидает другого цикла извлечения рекламы [то есть, оно снова отправляет запрос объявления и отображает новое объявление.].Все, что я хочу сделать, это чтобы мое приложение показывало один и тот же экземпляр объявления в каждом действии.[То же самое значение экземпляра: у меня есть интервал времени, в течение которого объявления должны обновляться, поэтому новый запрос объявления должен отправляться только по истечении срока, а не когда пользователь переходит от одного действия к другому.]
В любом случае, я могу это сделать.Я попробовал подход «синглтон», упомянутый в предыдущем решении, но есть много сложностей, потому что каждый раз, когда я это делаю, он говорит, что у указанного потомка уже есть родитель, и необходим вызов removeView для родителя.
Я делаю что-то не так (ИЛИ / И), может кто-нибудь помочь мне с каким-то другим решением ??
Мой класс Singleton здесь:
public class CommonAdFooter {
static final CommonAdFooter commonAdFooter = new CommonAdFooter();
static AdView admobView;
LayoutInflater LInflater;
private CommonAdFooter() {
LInflater = (LayoutInflater) Constants.context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
admobView = (AdView) LInflater.inflate(R.layout.ad_layout, null);
LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
admobView.setLayoutParams(lp);
}
public static AdView getAdLayout() {
return admobView;
}
}
и этомой файл макета для объявлений
<?xml version="1.0" encoding="utf-8"?>
<com.admob.android.ads.AdView
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:myapp="..."
android:id="@+id/ad" android:layout_alignParentBottom="true"
android:background="#C9E3F6" android:layout_width="fill_parent"
android:layout_height="wrap_content" myapp:backgroundColor="#006699"
myapp:primaryTextColor="#C9E3F6" myapp:secondaryTextColor="#C9E3F6" />
Редактировать: Admob API добавлена ссылка.