Android Super.onActivityCreated和getview不能与ActionBarActivity一起使用
我想使用以下代码将adFragment添加到我的应用程序中:Android Super.onActivityCreated和getview不能与ActionBarActivity一起使用,android,android-fragments,admob,Android,Android Fragments,Admob,我想使用以下代码将adFragment添加到我的应用程序中: public class AdFragment extends ActionBarActivity { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate
public class AdFragment extends ActionBarActivity {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_ad, container, false);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
AdView mAdView = (AdView) getView().findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
}
}
问题是安卓工作室说
无法解析super.onActivityCreated的onActivityCreated方法(Android.os.Bundle)。。。线
及
无法解析下一行的方法getView()
我已经尝试过,如果我将ActionBarActivity替换为片段,除了基于
ActionBarActivity应该有效
有人知道可能的解决办法吗
提前感谢您的帮助 以下内容将在
片段中工作
与充气布局相关的任何代码都应位于onViewCreated
中。(您想要的是视图而不是活动,对吗?onViewCreated
在onCreateView
之后调用。视图
参数就是您使用的参数
AdView mAdView;
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mAdView = (AdView) view.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
}
编辑:根据新事件进行编辑
以下内容将在活动
(或片段活动
或操作活动
)中起作用
编辑2
我不知道广告视图是如何工作的。也许你不必每次都加载广告,因为它会记住。试着这样做:
if (savedInstanceState == null) {
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
}
发布整个类。是的,发布代码,您是否尝试过重新构建或清理请注意,活动和片段是不可互换的。缺少的方法在片段中定义。您的类是否扩展了Fragment
?原始:公共类AdFragment扩展了ActionBarActivity{CreateView上的公共视图(LayoutFlater充气器、ViewGroup容器、Bundle savedInstanceState){返回充气器。充气(R.layout.Fragment_ad、容器、false);}@Override public void onActivityCreated(@Nullable Bundle savedInstanceState){super.onActivityCreated(savedInstanceState);AdView-mAdView=(AdView)getView().findViewById(R.id.AdView);AdRequest-AdRequest=new-AdRequest.Builder().build();mAdView.loadrequest(AdRequest);}}
Hi Eugen,谢谢你的回复,但我仍然有问题。如您所述,我已将onActivityCreated更改为onViewCreated,但超级调用仍然存在问题:super.onViewCreated错误消息:无法解析onViewCreated方法(android.view.Viewm android.os.Bundle)。我使用的是ActionBarActivity而不是片段,但据我所知,ActionBarActivity扩展了片段。谢谢大家!<代码>操作活动
扩展碎片活动
。不完全一样。所以最大的问题是:你是在写一个活动还是一个片段?最后是一个活动类。谢谢你的提问,尤金。
if (savedInstanceState == null) {
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
}