web-dev-qa-db-ja.com

com.admob.Android.ads.AdView非バインドプレフィックス?

EclipseのAndroidアプリにadmobを含めようとしましたが、layout.xmlでエラーが発生します。Eclipseはcom.admot.Android.ads.AdViewがバインドされていないプレフィックスであることを通知します。 pdfの指示に従って、ビルドパスにadmobライブラリが含まれていますが、それでもAdViewクラスが見つからないようです。しかしなぜですか。

エラーが発生するレイアウトは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout 
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:app="http://schemas.Android.com/apk/res/renegrothmann.kalah"
    Android:layout_width="wrap_content" Android:layout_height="wrap_content"
    >

            <renegrothmann.kalah.GameView
                Android:id="@+id/gameView" Android:layout_width="fill_parent"
                Android:layout_height="fill_parent"
                Android:layout_margin="2px"
                />

            <com.admob.Android.ads.AdView
                Android:id="@+id/ad"
                Android:layout_width="fill_parent"
                Android:layout_height="wrap_content"
                myapp:backgroundColor="#000000"
                myapp:primaryTextColor="#FFFFFF"
                myapp:secondaryTextColor="#CCCCCC"
                />

</LinearLayout>
27
Rene

このレイアウトでも同じエラーが発生しました

<RelativeLayout
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    Android:id="@+id/topLayout"
>           
    <!-- Ad Placeholder -->
    <com.google.ads.AdView      
        Android:id="@+id/adView"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        ads:adUnitId="a14df07c16f171a"
        ads:adSize="BANNER"
        ads:loadAdOnCreate="true"
    />

</RelativeLayout>

それから私はそれを作りました:

<RelativeLayout
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:ads="http://schemas.Android.com/apk/lib/com.google.ads"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    Android:id="@+id/topLayout"
>           
    <!-- Ad Placeholder -->
    <com.google.ads.AdView      
        Android:id="@+id/adView"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        ads:adUnitId="a14df07c16f171a"
        ads:adSize="BANNER"
        ads:loadAdOnCreate="true"
    />

</RelativeLayout>

2番目の例のRelativeLayoutの2番目のxmlns:ads="http://schemas.Android.com/apk/lib/com.google.ads"に注意してください。
実際、Android名前空間宣言xmlns:Android="http://schemas.Android.com/apk/res/Android"を削除すると、すべてのAndroidコンポーネントについてもうめき声が上がります。

91
n4rzul

以下を変更します

<LinearLayout 
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:app="http://schemas.Android.com/apk/res/renegrothmann.kalah"
    Android:layout_width="wrap_content" 
    Android:layout_height="wrap_content" />

沿って

<LinearLayout 
    xmlns:ads="http://schemas.Android.com/apk/lib/com.google.ads"
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:app="http://schemas.Android.com/apk/res/renegrothmann.kalah"
    Android:layout_width="wrap_content" 
    Android:layout_height="wrap_content" />

私にとってそれは

<TableLayout
    Android:id="@+id/resultsuperlotto"
    xmlns:ads="http://schemas.Android.com/apk/lib/com.google.ads"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:orientation="vertical" />

乾杯!

5
Dax

実際には、ルート要素(または親要素)にxmlns:adsを追加する必要はありません。

次のように、xmlns:adsプロパティをAdView要素に追加するだけです。

<com.google.Android.gms.ads.AdView
    xmlns:ads="http://schemas.Android.com/apk/res-auto"
    ...>
</com.google.Android.gms.ads.AdView>

チェック このページ

1
GyuHyeon Choi

プロジェクトを右クリックし、[プロパティ]、[Android]の順にクリックし、[ライブラリ]パネルの[追加]ボタンをクリックして、プロジェクトの下にgoogle-play-services_libライブラリとappcompat_v7ライブラリの両方を適用、更新、クリーンアップします。

これが機能しない場合は、次のことを試してください。

  • Project.propertiesのターゲット行をtarget = Android-13として変更します
  • プロジェクトを右クリックし、[更新]をクリックします
  • [プロジェクト]の下の[クリーン]をクリックします

これがうまくいくことを願っています。

0
ladybird

おそらく、下部の「myapp」を「app」に置き換えるか、上部の「xmlns:app」を「xmlns:myapp」に置き換える必要があります。それらはおそらく同じであるはずです。

0
Bashar

実際にはわからないので、本当の答えを提供することはできません。私がしたこと:私は新しいプロジェクトで再開しました。時々、あなたは単に1つの間違ったステップを踏みます!

0
Rene