【发布时间】:2014-03-16 23:13:09
【问题描述】:
我正在尝试使用 LinearLayout 在移动设备上实现广告,因为我在 Google 提供的教程中看到了它。但是我的LinearLayout一直返回null,好久没找到解决办法。
这是我的 MainActivity.java:
package com.me.mygdxgame;
import android.os.Bundle;
import android.widget.LinearLayout;
//import android.widget.RelativeLayout;
//import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator;
import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
//import com.google.ads.AdSize;
//import com.google.ads.AdView;
import com.me.mygdxgame.R;
public class MainActivity extends AndroidApplication {
AdView adView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
cfg.useGL20 = true;
initialize(new MyGame(), cfg);
adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId("XXXXConfidential Ad Unit IDXXXX");
LinearLayout layout = (LinearLayout) findViewById(R.id.normal);
// layout.addView(adView);
if (layout ==null){
System.out.println("layout doesn't work");
}
if (layout !=null){
System.out.println("layout works");
}
if (adView == null){
System.out.println("adView doesn't work");
}
if (adView != null){
System.out.println("adView works");
}
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice("XXXXConfidential Test Device CodeXXXXXXX")
.build();
if (adRequest == null){
System.out.println("adRequest doesn't work");
}
if (adRequest != null){
System.out.println("adRequest works");
}
adView.loadAd(adRequest);
// setContentView(layout);
}
public void onDestroy(){
if (adView != null) {
adView.destroy();
}
super.onDestroy();
}
}
System.out.printlns 告诉我,除了layout,一切正常
这是我的 main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/normal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
</LinearLayout>
这是我的 R.java 文件中的一个 sn-p,在我的包中:
public static final class id {
public static final int hybrid=0x7f050004;
public static final int none=0x7f050000;
public static final int normal=0x7f050001;
public static final int satellite=0x7f050002;
public static final int terrain=0x7f050003;
}
public static final class integer {
public static final int google_play_services_version=0x7f070000;
}
public static final class layout {
public static final int main=0x7f030000;
}
我对 XML 一点也不熟悉,所以我不知道问题出在哪里。我已经非常密切地关注了所有教程,但我的 layout 仍然返回 null。有什么帮助吗?我已经尝试解决它超过 24 小时...
【问题讨论】:
-
一切正常。你试过清理你的项目吗?
-
是的,我已经清理了我的项目好几次了。
标签: java android android-layout admob r.java-file