Ошибка Adview, вылет через некоторое время

Где ошибка в моем коде? Что-то не так с моими настройками просмотра рекламы. Если я не использую AdListener, все работает нормально. Только через некоторое время мое приложение вылетает, но я не знаю, что не так?

// Create the adView.
adView = new AdView(this);
adView.setAdUnitId("*****");
adView.setAdSize(AdSize.BANNER);

// Initiate a generic request.
AdRequest adRequest = new AdRequest.Builder().build();
final LinearLayout layout = (LinearLayout) findViewById(R.id.mainLayout);
// Load the adView with the ad request.
adView.setBackgroundColor(Color.BLACK);
adView.loadAd(adRequest);
adView.setAdListener(new AdListener() {
    public void onAdLoaded() {
        layout.addView(adView);
        adView = new AdView(getApplication());
    }
});

Logcat:

04-10 02:05:45.888  31381-31381/**************** E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: ****************, PID: 31381
java.lang.RuntimeException: Unable to start activity ComponentInfo{****************/****************.MainActivity}: java.lang.NullPointerException
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
        at android.app.ActivityThread.access$900(ActivityThread.java:161)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:157)
        at android.app.ActivityThread.main(ActivityThread.java:5356)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
        at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.NullPointerException
        at ****************.MainActivity.onCreate(MainActivity.java:145)
        at android.app.Activity.performCreate(Activity.java:5426)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
            at android.app.ActivityThread.access$900(ActivityThread.java:161)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:157)
            at android.app.ActivityThread.main(ActivityThread.java:5356)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
            at dalvik.system.NativeStart.main(Native Method)

person user3517495    schedule 10.04.2014    source источник
comment
Чего вы пытаетесь достичь с помощью строки, в которой написано adView = new AdView(getApplication())?   -  person tambykojak    schedule 10.04.2014
comment
ПОПРОБУЙТЕ ПО ССЫЛКЕ НИЖЕ stackoverflow.com/questions/22909448/ get-adview-to-work /   -  person Ashish    schedule 10.04.2014


Ответы (1)


Если вы получаете нулевой указатель в прослушивателе onClick, я предполагаю, что для layout устанавливается значение null, когда вы пытаетесь findViewBy. Убедитесь, что id этого представления в вашем xml-файле действительно mainLayout.

person tambykojak    schedule 10.04.2014