Java Ad Mob在返回Android时崩溃

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>();

我对Android编程相当陌生,我已经创建了一个包含许多片段的应用程序。我已经按照谷歌的指示设置了谷歌广告群。当你点击一个特定的片段时,这是我第一次使用它。但是,如果我返回到该片段,应用程序就会崩溃,并且不会命中广告片段类

我的Java类:

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。

发布崩溃的堆栈跟踪