Desafortunadamente el combo setVisibility(View.GONE);
+ setEnabled(false)
no funciona universalmente en todas las versiones/dispositivos android. Dependiendo de cuándo lo invoque, puede terminar colgado en la pantalla vacía (sin NPE, solo pantalla en blanco).
Hasta ahora la única solución que funciona para mí es:
Para la Actividad:
protected void removeAdView(int adViewId) {
View view = getWindow().getDecorView();
View adView = view.findViewById(adViewId);
if (adView != null) {
ViewGroup parent = (ViewGroup) adView.getParent();
parent.removeView(adView);
parent.invalidate();
}
}
Para Fragmento:
protected void removeAdView(View topView, int adViewId) {
View adView = topView.findViewById(adViewId);
if (adView != null) {
ViewGroup parent = (ViewGroup) adView.getParent();
parent.removeView(adView);
parent.invalidate();
}
}
Esta solución se basa en @ respuesta de Quartertone sino que se extendió a ser más universal (es decir, funciona con todos ViewGroup
s no solo LinearLayout
). Simplemente ponga estos métodos en sus clases de Actividad/Fragmento base.
Espera. ¿Ganas dinero con Ads y dejas que el usuario los deshabilite si así lo desean? ¿O tienen que pagar para desactivar los anuncios? –
No quiero ganar dinero con los anuncios. Pero quiero darle al usuario la capacidad de admitir más desarrollo de aplicaciones mostrando los anuncios. – Mark