我在我的活动中定义了一个自定义横幅。我的项目有这种结构:
- 活动:Fragment1, Fragment2 ,Fragment3
- Fragment2 : Fragment4 ,Fragment5
因此,例如,要从Fragment2滑动到Fragment4,我直接从Fragment2替换片段。
现在,每当用户点击Fragment4时,我想在主要活动
中定义横幅 AdView mAdView = (AdView) findViewById(R.id.adView);
成为隐身
我怎样才能做到这一点?
答案 0 :(得分:0)
我认为最好的方法(但到目前为止不是最简单的方法)是使用DataBinding并将每个片段的布局传递给布尔值,该值告诉它天气是否应该可见。 然后在您的布局中,您可以执行以下操作:
<layout ... >
<data>
<import type="android.view.View"/>
<variable name="showBanner" type="boolean" />
</data>
...
<BannerView
...
android:visibility='@{showBanner ? View.VISIBLE : View.INVISIBLE}'
...
/>
...
</layout>
答案 1 :(得分:0)
我得到了最好的方法,所以现在想想你需要隐藏在MainActivity中生成的admob广告,这样当你打算调用片段时,只需设置主要活动中的可见性。
如果您有任何问题,请告诉我。
case R.id.nav_frag1:
fragment = new Fragment1();
mAdView = (AdView) findViewById(R.id.adView);
mAdView.setVisibility(View.GONE);
title = getString(R.string.title_frag1);
break;