我尝试将admob包含在Eclipse中的Android应用程序中。但是我在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>
答案 0 :(得分:91)
这个布局我有同样的错误
<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>
注意第二个例子中我的RelativeLayout中的第二个xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
?
事实上,如果你删除android命名空间声明xmlns:android="http://schemas.android.com/apk/res/android"
,它将开始抱怨所有的android组件。
答案 1 :(得分:5)
更改以下内容
<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" />
干杯!
答案 2 :(得分:1)
实际上,您不需要将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>
检查this page。
答案 3 :(得分:0)
也许你应该用“app”替换底部的“myapp”或者用“xmlns:myapp”替换顶部的“xmlns:app”。他们可能应该是一样的。
答案 4 :(得分:0)
我无法提供真正的答案,因为实际上我不知道,为什么它现在有效。我做了什么:我重新启动了一个新项目。有时,你只是走错了一步!
答案 5 :(得分:0)
右键单击项目,单击“属性”,单击“Android”,在“库”面板上单击“添加”按钮 并添加google-play-services_lib和appcompat_v7库 在项目下应用,刷新,清洁。
如果这不起作用,请尝试以下方法:
希望这会奏效。