私はここでポイントを逃していると確信しているので、私は誰かが説明することを望んでいる。カスタムAlertDialog - android.R.id.customの問題
ユーザーがImageViewに触れたときにポップアップを作成します。あなたは、より複雑なビューを表示し、「カスタム」と呼ばれるでframeLayoutを検索し、そこにあなたのビューを追加したい場合は...
を私はAlertDialogを見ていたし、ドキュメントは言う:
...次のコードで...
FrameLayout fl = (FrameLayout) findViewById(android.R.id.custom);
fl.addView(myView, new LayoutParams(MATCH_PARENT, WRAP_CONTENT));
だから私は、私のonclick()メソッドでは、次の試してみましたテストなど...
TextView tv = new TextView(this);
tv.setText("Hello World");
FrameLayout customFrameLayout = (FrameLayout) findViewById(android.R.id.custom);
customFrameLayout.addView(tv, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
私がaddView()を呼び出している上記の最後の行で、NullPointerExceptionがスローされ、android.R.id.customに問題があると思われます。
質問には、上記の何が問題なのですか?また、(おそらくDialogクラスを使用したり、それを拡張して)カスタムポップアップを作成する良い方法がありますか?
注:このサンプルではTextViewのみをテストとして使用しています。実際のポップアップにはもっと複雑なものを追加したいと思います。
<activity android:theme="@android:style/Theme.Dialog">
詳細についてはapplying themesを参照してください:
興味深いアイデアを見ていきます。 – Squonk
これは、startActivityForResult()を使用して必要な処理を行うためのより良い方法です - ありがとうございます。 – Squonk