主要活动中没有Admob

时间:2016-03-01 18:32:06

标签: android admob main-activity

我的应用程序中有两个活动,我不想在主要活动中显示Admob, 我尝试仅在第二个活动中添加,但它没有显示出来。

即使我添加了主要活动,它也仅显示在主要活动中而不是第二个活动中。

但我的意图只是在第二项活动中展示。

我怎样才能实现它?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    xmlns:ads="http://schemas.android.com/apk/res-auto">
    <SearchView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/searchView"
        android:background="#595959"
        android:queryHint="Search..."
        android:theme="@style/Theme.AppCompat.Light">
    </SearchView>
    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:divider="@drawable/gradient_horizontal_line"
        android:dividerHeight="1dp"
        android:listSelector="@drawable/list_selector"
        android:background="@drawable/list_selector"/>
    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        ads:adSize="BANNER"
        ads:adUnitId="@string/banner_ad_unit_id">
    </com.google.android.gms.ads.AdView>
</LinearLayout>

第二项活动

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.playlist);

        sv = (SearchView)findViewById(R.id.searchView);
        int id = sv.getContext().getResources().getIdentifier("android:id/search_src_text", null, null);
        TextView textView = (TextView) sv.findViewById(id);
        textView.setTextColor(Color.WHITE);
        textView.setHintTextColor(Color.LTGRAY);

        plm = new SongsManager();

        AdView mAdView = (AdView) findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);
}

3 个答案:

答案 0 :(得分:0)

您的布局存在一些问题。

您的ListView占用了所有空间而不允许显示AdView。将其高度更改为wrap_content

<ListView
        android:id="@android:id/list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:divider="@drawable/gradient_horizontal_line"
        android:dividerHeight="1dp"
        android:listSelector="@drawable/list_selector"
        android:background="@drawable/list_selector"/>

那些属性

android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"

适用于RelativeLayout父级,请将其删除。而是添加

android:layout_gravity='center|bottom'

并且fill_parent已弃用,您应该使用match_parent

答案 1 :(得分:0)

listview将layout_weight设置为1.这将使按钮固定在底部的位置。

 <ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:divider="@drawable/gradient_horizontal_line"
    android:dividerHeight="1dp"
    android:listSelector="@drawable/list_selector"
    android:background="@drawable/list_selector"
    android:layout_weight="1"/>


<com.google.android.gms.ads.AdView
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_alignParentBottom="true"
    ads:adSize="BANNER"
    ads:adUnitId="@string/banner_ad_unit_id">
</com.google.android.gms.ads.AdView>

Fixed Button below a scrollable ListView

答案 2 :(得分:0)

将LinearLayout更改为RelativeLayout