问题描述
我想在我的应用程序的片段中添加admob广告。我已经在XML文件中添加了广告。我在java部分遇到了麻烦。您能否与rootview共享Java代码?我检查了其他文章,但感到困惑。
HomeFragment.java
private AdView mAdView;
@Override
public View onCreateView(@NonNull LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
View rootview = inflater.inflate(R.layout.fragment_home,container,false);
ButterKnife.bind(this,rootview);
mFragmentPositionMap = CommonCodeUtils.getInstance().fillNavigationItemsMap(true);
mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
imagesToPdf.setonClickListener(this);
qrbarcodetoPdf.setonClickListener(this);
textToPdf.setonClickListener(this);
viewFiles.setonClickListener(this);
viewHistory.setonClickListener(this);
splitPdf.setonClickListener(this);
mergePdf.setonClickListener(this);
compresspdf.setonClickListener(this);
removePages.setonClickListener(this);
rearrangePages.setonClickListener(this);
extractimages.setonClickListener(this);
mPdfToImages.setonClickListener(this);
addPassword.setonClickListener(this);
removePassword.setonClickListener(this);
rotatePdf.setonClickListener(this);
addWatermark.setonClickListener(this);
addImages.setonClickListener(this);
removeDuplicatePages.setonClickListener(this);
invertPdf.setonClickListener(this);
zipToPdf.setonClickListener(this);
excelToPdf.setonClickListener(this);
extractText.setonClickListener(this);
addText.setonClickListener(this);
mAdapter = new Recentlistadapter(this);
recentList.setAdapter(mAdapter);
return rootview;
}
将此添加到fragment_home.xml
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
</com.google.android.gms.ads.AdView>
但是,它会返回带有findViewById部分的错误。而且我也想知道应该在清单文件中添加什么内容。
解决方法
您必须在Activity
上运行它:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MobileAds.initialize(this,new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {}
});
}
,并将其放在您的Fragment
上:
@Override
public void onViewCreated(@NonNull View view,@Nullable Bundle savedInstanceState) {
super.onViewCreated(view,savedInstanceState);
AdView adView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
}