範囲内で利用可能なすべての Wifi ネットワークのリストを表示する AlertDialog のカスタム サブクラスがあります。
このダイアログのインスタンスを作成して show() を呼び出して表示していますが、AlertDialog.Builder は使用していません(カスタム クラスを使用したいため)。
コンテンツ ビューとして表示する独自のレイアウトがありますが、タイトル ヘッダーとフレームを含む通常の AlertDialog のルック アンド フィールが必要です。
私のカスタム レイアウトはとてもシンプルです。
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ListView>
そして、onCreate() でダイアログに追加しています。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(R.string.pick_wifi_network);
setContentView(R.layout.pick_wifi_dialog);
// Rest of implementation
}
しかし、結果は AlertDialog のようには見えません。タイトルはなく、ListView は画面全体を使用します。
では、私は何を間違っており、どうすれば正しいのでしょうか?
ありがとう!
編集: AlertDialog.Builder を使用しない理由: 私のカスタム Dialog クラスは、WifiManager の SCAN_RESULTS_AVALIABLE_ACTION をリッスンし、結果が更新されると ListView を更新する責任があります。このため、AlertDialog.Builder を使用できません。 編集終了