android-fragments 我想将广告集成到我的应用中,但问题是(类型不匹配,必填:上下文!,找到片段类)

vdgimpew  于 2022-11-14  发布在  Android
关注(0)|答案(3)|浏览(159)

我想将广告集成到我的应用程序中,但问题是
MobileAds.initialize(this){ initStatus-> not work this method( onCreateView)
但我是用这个方法(onCreate:

MobileAds.initialize(this){ initStatus-> this working...  Activity class,

但我想在将广告添加到片段而不是活动时使用。
有人能告诉我它的工作代码吗?
我已经尝试了一些方法,但它们不起作用。如果代码被放在一个活动中,它就能正常工作
下面是我为Fragment尝试的代码:

nuypyhwy

nuypyhwy1#

你可以通过给出活动的上下文来片段地使用它。
更新您的代码:-

MobileAds.initialize(this)

收件人:-

MobileAds.initialize(getActivity())

也可以在将片段附加到Activity后初始化片段中的Activity变量。

vvppvyoh

vvppvyoh2#

片段内的this将返回片段本身,因此MobileAds.initialize(requireActivity())MobileAds.initialize(requireContext())
不要使用getActivity()它是空的

3htmauhk

3htmauhk3#

首先,您使用AdMob来显示广告,这一点非常重要。其次,您可以在此处看到用于初始化广告的API,您可以看到它需要传递一个Context参数和一个特定的侦听器:

public static void initialize (Context context,OnInitializationCompleteListener listener)

在onCreateView方法中,这是对Fragment的引用,而在Activity的onCreate方法中,这是对充当上下文本身的Activity的引用。
因为在onCreateView方法中有一个视图,所以可以从那里获取上下文(引用)。
您也可以使用requireActivity或requireContext方法。

相关问题