首先,加载您的广告并将其存储在不在UI片段中的某个位置。我推荐一个保留的片段。然后,从要显示要求显示广告的广告(即DetailPageFragment)的片段实施回叫。
例子:(我不知道这是否编译;它更伪代码)
public class DetailPageFragment extends Fragment {
public interface AdRequestListener {
void onAdRequestedForDisplay();
}
...
public void onAdLoaded(NativeAd ad) {
// Display ad here
}
public void onAttach(Activity activity) {
// Set listener
}
public void onCreateView(Bundle savedInstanceState) {
listener.onAdRequestedForDisplay();
}
}
public class AdLoadingFragment extends Fragment {
private NativeAd ad;
public interface AdLoadListener {
void onAdLoaded(NativeAd ad);
}
public void onAttach(Activity activity) {
try {
this.listener = (AdLoadListener) activity;
} catch(ClassCastException cce) {
throw new RuntimeException(activity.toString() + " must implement AdLoadListener");
}
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
if(savedInstanceState != null) {
requestAd();
}
}
private void requestAd() {
//Request ad
//Notify listener when ad is loaded
}
public void onAdRequested() {
if(ad != null && listener != null) {
listener.onAdLoaded(ad);
}
}
...
}