我按照this教程在Android Studio中集成了admob。但现在在MainActivity AdFragment类中,一些符号为红色(** word * *)(无法解析符号),错误日志中没有任何内容。
public static class AdFragment extends **Fragment** {
@Override
public **View** onCreateView(**LayoutInflater** inflater, **ViewGroup** container,
Bundle savedInstanceState) {
return inflater.**inflate**(R.layout.fragment_ad, container, false);
}
@Override
public void onActivityCreated(Bundle bundle) {
super.**onActivityCreated**(bundle);
AdView mAdView = (AdView) getView().**findViewById**(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
}
}
同样在activity_main.xml
中<fragment android:name="com.appname.MainActivity$PlaceholderFragment"
PlaceholderFragment为红色
我的导入声明:
package com.example.admobexample;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
答案 0 :(得分:1)
如果您使用像AndroidStudio这样的IDE,那么您需要导入一个整齐的下划线类,以便使用。也是一个方便的快捷方式,可以快速导入它们。
基本上你缺少多个import语句,例如:
import android.app.Fragment;
如果您仍然不想使用IDE,您可以自己谷歌。
同样在您的xml文件中,您没有将明显的com.appname
更改为您的包名称。它应该是:
android:name="com.example.admobexample.MainActivity$PlaceholderFragment"
当然要确保您的MainActivity
包含一个名为PlaceholderFragment
的静态类,以便上述工作正常运行。