我正在尝试在我的第一个 Android 项目中配置 AdMod。当我尝试运行应用程序时,findViewByID 总是返回 null。
这是我的主要活动的代码:
import android.app.Activity;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.os.Bundle;
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
import android.view.Window;
import android.view.WindowManager;
public abstract class MyAndroidApp extends Activity {
AdView adView;
public static final String MY_PUBLISHER_ID = "***********";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AdRequest adRequest = new AdRequest();
adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
adView = new AdView(this, AdSize.BANNER, MY_PUBLISHER_ID);
//R.id.main has value, I can see it in Eclipse
RelativeLayout mainLayout = (RelativeLayout) findViewById(R.id.main);
if ( mainLayout == null )
Log.d("Error","Layout is null");
else
mainLayout.addView(adView);
adView.loadAd(adRequest);
XML 文件(在 res\layout 下)具有以下内容:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MyApp"
android:id="@+id/main">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/hello_world" />
</RelativeLayout>
当我调试时,我可以看到 R.id.main 的价值。但是,mainLayout 的值仍然为 null。
提前致谢。