Справка Добавление другого представления в GLSurfaceView - PullRequest
1 голос
/ 08 августа 2011

Я пытаюсь добавить другое представление к своему GlSurfaceView, однако я продолжаю поднимать ошибки.

 glView = new GLSurfaceView(this);
        glView.setRenderer(this);
        setContentView(glView);

        glView.setId(932203934);
        int newID = glView.getId();

            // Create the adView
        AdView adView = new AdView(this, AdSize.BANNER, "a14e3ef0948eb58");
        // Lookup your LinearLayout assuming it’s been given
        // the attribute android:id="@+id/mainLayout"
        //LinearLayout layout = (LinearLayout)findViewById(newID);
        GLSurfaceView layout = (GLSurfaceView)findViewById(newID);
        // Add the adView to it
        this.addContentView(layout, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
        //layout.addView(adView);
        // Initiate a generic request to load it with an ad
        adView.loadAd(new AdRequest());

Я добавил «setID», поскольку glView всегда давал -1, но теперь с этим я получаю »java.lang.IllegalStateException: указанный дочерний элемент уже имеет родителя. Сначала вы должны вызвать removeView () для родительского элемента дочернего элемента.glsurfaceview?

Спасибо

1 Ответ

2 голосов
/ 09 августа 2011

Кто-нибудь еще с этой проблемой ....

AdView adView = new AdView(this, AdSize.BANNER, "a14e3ef0948eb58");
        LinearLayout ll = new LinearLayout(this);
        ll.addView(adView);
        this.addContentView(ll, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
        AdRequest request = new AdRequest();
        request.setTesting(true);
        adView.loadAd(request);
...