2009-07-31 7 views
4

私はexpirienceの人々から少し助けが必要です。私はそれが簡単だと思います。 メインプログラムのビューの上に、新しいビュー(を作成せずにXML layouts)を表示したいだけです。 それはAdMob.com広告ブロックを統合するません:Android、XMLレイアウトなしで新しいビューを追加

が、私はそのようなコードを書いた:あなたが見たよう

AdView ad = new AdView(this); 
ad.layout(10, 10, 100, 100); 
ad.setVisibility(View.VISIBLE); 
ad.bringToFront(); 
ad.requestFocus(); 
ad.invalidate();

を - 何も助けない、何のウィンドウが表示さ
は私が間違って何をするのですか? ありがとう!

P.S.私はActivityonCreate(Bundle)で製作しましたが、他の場所でも試しました。

答えて

6

あなたは実際にシステムにdrawと何かを描画するよう指示していません。アクティビティのsetContentView(view)のドキュメントを参照してください。現在の画面を描画する場合は、Dialog(およびsetContentView)のドキュメントを参照してください。

私はプログラム的に既存のlayout以内に描画するための任意のビューを作成していたとき、私は通常私のlayout XMLFrameLayoutタグを追加し、コードの呼び出しfindViewById()で、その後、私はFrameLayoutビューが(addView()viewを追加することに使用することができます)。

あなたのコードを書かずにいくつかのことに役立つことを願っています。

+0

ありがとうございます。 私は既にXMLを使ってすべてのアプリケーションをリメイクし、RelativeLayoutまたはAbsoluteLayoutを使用して問題を解決しました。 – Vadim

+0

@lilbyrdie:同じ方法を使用していますが、XMLで宣言されているフレームレイアウトにプログラムで構築したビューを追加しようとするとアプリケーションが強制終了します。それでフレームレイアウトmyFrameView.addView(viewBuiltProgrammatically)が失敗します。なぜあなたはそれがだと思いますか? – Namratha

+0

@Namratha:エラー出力を確認して、例外テキストの内容を確認したいと思うでしょう。あなたが設定を忘れてしまったり、許可されていない何かを設定したりするかもしれないと推測します。 – lilbyrdie

関連する問題