[英]Null LinearLayout?
我正在尝试使用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.println
告诉我,除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文件中的代码段,位于我的程序包中:
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小时...
您不会显示#initialize的代码,但我愿意打赌,在该方法的某个地方,您将再次调用#setContentView并覆盖R.layout.main
这就是为什么找不到R.is.normal的原因,因为在用R.layout.main替换的任何内容中都不存在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.