Java Ad Mob在返回Android时崩溃
我对Android编程相当陌生,我已经创建了一个包含许多片段的应用程序。我已经按照谷歌的指示设置了谷歌广告群。当你点击一个特定的片段时,这是我第一次使用它。但是,如果我返回到该片段,应用程序就会崩溃,并且不会命中广告片段类 我的Java类:Java Ad Mob在返回Android时崩溃,java,android,xml,android-fragments,admob,Java,Android,Xml,Android Fragments,Admob,我对Android编程相当陌生,我已经创建了一个包含许多片段的应用程序。我已经按照谷歌的指示设置了谷歌广告群。当你点击一个特定的片段时,这是我第一次使用它。但是,如果我返回到该片段,应用程序就会崩溃,并且不会命中广告片段类 我的Java类: public class ContactsListFragment extends BaseFragment { ArrayList<Contact> allContacts = new ArrayList<Contact>();
public class ContactsListFragment extends BaseFragment {
ArrayList<Contact> allContacts = new ArrayList<Contact>();
...
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_ad, container, false);
return rootView;
}
}
public static class AdFragment extends Fragment {
private AdView mAdView;
public AdFragment() {
}
@Override
public void onActivityCreated(Bundle bundle) {
super.onActivityCreated(bundle);
// Gets the ad view defined in layout/ad_fragment.xml with ad unit ID set in
// values/strings.xml.
mAdView = (AdView) getView().findViewById(R.id.adView);
// Create an ad request. Check logcat output for the hashed device ID to
// get test ads on a physical device. e.g.
// "Use AdRequest.Builder.addTestDevice("ABCDEF012345") to get test ads on this device."
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();
// Start loading the ad in the background.
mAdView.loadAd(adRequest);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_ad, container, false);
}
/** Called when leaving the activity */
@Override
public void onPause() {
if (mAdView != null) {
mAdView.pause();
}
super.onPause();
}
/** Called when returning to the activity */
@Override
public void onResume() {
super.onResume();
if (mAdView != null) {
mAdView.resume();
}
}
/** Called before the activity is destroyed */
@Override
public void onDestroy() {
if (mAdView != null) {
mAdView.destroy();
}
super.onDestroy();
}
}
以及该类的我的xml文件:
<fragment
android:id="@+id/adFragment"
android:name="com.oozzat.app.ContactsListFragment$AdFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" />
我的Logcat看起来像这样:
12-19 09:35:13.474:E/AndroidRuntime22409:致命异常:主
12-19 09:35:13.474:E/AndroidRuntime22409:android.view.InflateException:二进制XML文件第80行:膨胀类片段时出错
12-19 09:35:13.474:E/AndroidRuntime22409:at android.view.LayoutInflater.createViewFromTagLayoutInflater.java:719
12-19 09:35:13.474:E/AndroidRuntime22409:at-android.view.LayoutInflater.rInflateLayoutInflater.java:761
12-19 09:35:13.474:E/AndroidRuntime22409:at android.view.LayoutInflater.inflateLayoutInflater.java:498
12-19 09:35:13.474:E/AndroidRuntime22409:at android.view.LayoutInflater.inflateLayoutInflater.java:398
12-19 09:35:13.474:E/AndroidRuntime22409:com.oozzat.app.ContactsListFragment.onCreateViewContactsListFragment.java:52
12-19 09:35:13.474:E/AndroidRuntime22409:at android.support.v4.app.Fragment.performCreateViewFragment.java:1500
12-19 09:35:13.474:E/AndroidRuntime22409:at android.support.v4.app.FragmentManagerImpl.moveToStateFragmentManager.java:938
12-19 09:35:13.474:E/AndroidRuntime22409:at android.support.v4.app.FragmentManagerImpl.moveToStateFragmentManager.java:1115
12-19 09:35:13.474:E/AndroidRuntime22409:at android.support.v4.app.BackStackRecord.runBackStackRecord.java:682
12-19 09:35:13.474:E/AndroidRuntime22409:at android.support.v4.app.FragmentManagerImpl.execpendingactionsffragmentmanager.java:1478
12-19 09:35:13.474:E/AndroidRuntime22409:at android.support.v4.app.FragmentManagerImpl$1.runFragmentManager.java:446
12-19 09:35:13.474:E/AndroidRuntime22409:at-android.os.Handler.handleCallbackHandler.java:730
12-19 09:35:13.474:E/AndroidRuntime22409:at android.os.Handler.dispatchMessageHandler.java:92
12-19 09:35:13.474:E/AndroidRuntime22409:at android.os.Looper.Looper.java:137
12-19 09:35:13.474:E/AndroidRuntime22409:at android.app.ActivityThread.mainActivityThread.java:5419
12-19 09:35:13.474:E/AndroidRuntime22409:at java.lang.reflect.Method.Invokenactive Method
12-19 09:35:13.474:E/AndroidRuntime22409:at java.lang.reflect.Method.invokeMethod.java:525
12-19 09:35:13.474:E/AndroidRuntime22409:com.android.internal.os.ZygoteInit$methodAndArgscaler.runZygoteInit.java:1209
12-19 09:35:13.474:E/AndroidRuntime22409:com.android.internal.os.ZygoteInit.mainZygoteInit.java:1025
12-19 09:35:13.474:E/AndroidRuntime22409:at dalvik.system.NativeStart.main本地方法
12-19 09:35:13.474:E/AndroidRuntime22409:原因:java.lang.IllegalArgumentException:二进制XML文件第80行:重复id 0xffffffff、标记adFragmentPlaceholder或父id 0xffffffff以及com.oozzat.app.ContactsListFragment$PlaceholderFragment的另一个片段
12-19 09:35:13.474:E/AndroidRuntime22409:at android.app.Activity.onCreateViewActivity.java:4971
12-19 09:35:13.474:E/AndroidRuntime22409:at android.view.LayoutInflater.createViewFromTagLayoutInflater.java:695问题是
12-19 09:35:13.474: E/AndroidRuntime(22409): Caused by: java.lang.IllegalArgumentException: Binary XML file line #80: Duplicate id 0xffffffff, tag adFragmentPlaceholder, or parent id 0xffffffff with another fragment for com.oozzat.app.ContactsListFragment$PlaceholderFragment
实际上,您在同一视图层次结构中多次使用同一资源id
在布局XML中查找您的活动和正在加载的片段。查找重复的id。发布崩溃的堆栈跟踪