2011-01-22 22 views
2

私のアプリケーションには、一種の設定ウィンドウとして機能するポップアップウィンドウがあります。この中には、チェックボックスのようないくつかの小さな見解がありますが、私は正しく動作するように問題を抱えているようです。Android Button Inside PopupWindow

現在、私はそれが膨らんでいるというビューのボタンが1つしかありません。ポップアップウィンドウを閉じるためにそれを使用しようとしていますが、onClickListenerをセットアップしようとするとNullPointerExceptionが発生します。実際、ボタンを参照すると、たとえ "button.isShown()"のようなものであっても、ボタンが存在しないかのように例外が表示されます。

私は考えることができるすべてを試しましたが、この問題を全く解決するものはありません。私は、PopupWindowの内部でボタンを動作させる方法があると仮定します。または、後の効果を得るために、何らかのダイアログを変更する必要がありますか?

ありがとうございました。

答えて

2

DialView.findViewById(id)を使用しているfindViewById(R.id.yourButton)を呼び出すときは、ボタンのメインレイアウトを見て、正しく見つからないことを確認してください。参照を使用しようとするとNullPointersが発生します。

編集:ここで私は私ができるような単純なものを維持したい

AlertDialog.Builder builder = new AlertDialog.Builder(this) 
    .setView(layout); 
    alertDialog = builder.create(); 
    alertDialog.show(); 
    button = (Button) alertDialog.findViewById(R.id.yourButton); 
+0

これはより明確にするドームコードですが、私は私が望んでいた完全な制御を取得するには、新しいクラスにダイアログを拡張することになりました。あなたの投稿は私にこれを始めさせるのに非常に役に立ちました、ありがとうございます。 – Chance