Попробуйте код ниже
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/layout_main"
>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="0px"
android:layout_weight="1">
<com.google.android.maps.MapView
....
</RelativeLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:id="@+id/layout_ad"
android:layout_height="wrap_content" />
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="0px"
android:layout_weight="1"/>
</LinearLayout>
, а затем используйте следующий код
AdManager.setTestDevices(new String[] { AdManager.TEST_EMULATOR });
LinearLayout layout = (LinearLayout) findViewById(R.id.layout_ad);
AdWhirlLayout adWhirlLayout = new AdWhirlLayout(this, "Key");
Display d = this.getWindowManager().getDefaultDisplay();
RelativeLayout.LayoutParams adWhirlLayoutParams = new RelativeLayout.LayoutParams(d.getWidth(), 52);
layout.addView(adWhirlLayout, adWhirlLayoutParams);
layout.invalidate();
Таким образом, ваш список будет всегда отображаться после AdWhirl, и если нет объявлений для показа, тогда список будет отображаться сразу после карты