1
私はGlSurfaceViewに別のビューを追加しようとしていますが、エラーは発生し続けます。ヘルプGLSurfaceViewに別のビューを追加する
glViewは常に-1を与えたが、今これを私は「java.lang.IllegalStateExceptionを得るように私は「SETID」を追加した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());
:指定された子は、すでに親を持っているあなたはremoveView(呼び出す必要があります)に子供の親が最初に。
明らかに私はこの権利を行使していないので、どのようにglsurfaceviewにこの追加のビューを持っていましたか?
おかげ
GLSurfaceViewはViewParentではありません。ルートビューはRelativeLayoutでなければなりません。あなたがfindById()することができるようにidを与えてから、addView()を呼び出してadViewを追加します。 –
申し訳ありません現在xmlを使用していませんが、現在はRelativeLayoutsがありません。なぜ今作成する必要がありますか?私は新しいLinearLayoutを追加するために結びつけ、XMLとして作成しましたが、次のようにするとnullを返します。LinearLayout layout =(LinearLayout)findViewById(R.id.linearLayout); – Chris