Create a new class AdPreference.java and include this code:
public class AdPreference extends Preference {
    public AdPreference(Context context, AttributeSet attrs, int defStyle) {super    (context, attrs, defStyle);}
    public AdPreference(Context context, AttributeSet attrs) {super(context, attrs);}
    public AdPreference(Context context) {super(context);}
    @Override
    protected View onCreateView(ViewGroup parent) {
        // this will create the linear layout defined in ads_layout.xml
        View view = super.onCreateView(parent);
        // the context is a PreferenceActivity
        Activity activity = (Activity)getContext();
        // Create the adView
        AdView adView = new AdView(activity, AdSize.BANNER, "YOUR_ADMOB_ID_HERE");
        ((LinearLayout)view).addView(adView);
        // Initiate a generic request to load it with an ad
        AdRequest request = new AdRequest();
        adView.loadAd(request);     
        return view;    
    }
}
In your res/layout folder create a new xml layout titled ad_layout.xml has to be exact. Then include this code:
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:orientation="vertical">  
</LinearLayout>
Then in your "settings" xml add this right after the xmlns line:
<com.yourpackagename.AdPreference android:layout="@layout/ad_layout"/>
In your AndroidManifest.xml add this before 
<activity android:name="com.google.ads.AdActivity"
          android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
 <meta-data android:name="ADMOB_ALLOW_LOCATION_FOR_ADS" android:value="false" />
Also add this in your manifest:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
And that's it. It'll work perfectly.