1

警告ダイアログ内でPreferenceScreenを膨らませることはできますか?

これは私が試したことです:

final LayoutInflater factory = LayoutInflater.from(this);
final View myDialog = factory.inflate(R.xml.prefScr, null);
final Dialog dialog = new AlertDialog.Builder(this)
    .setTitle("This is Dialog")
    .setView(myDialog)
    .create();

これは私に例外を与えます:

android.view.InflateException: Binary XML file line #2: Error inflating class PreferenceScreen
4

1 に答える 1

2

PreferenceScreenこのように a の外側を使用することはできないと思いますPreferenceActivity...しかし、いくつかの代替手段があります:

1)Activityのスタイルを使用して、ダイアログとして表示しますManifest

<activity
    android:name=".MyPrefsActivity"
    android:label=""
    android:theme="@android:style/Theme.Dialog">
</activity>

2) をそのまま使用AlertDialogしますが、同じ機能を持つ独自のカスタム レイアウトで膨らませますPreferenceScreen。次に、プリファレンスの取得と設定を手動で管理する必要があります。

3)PreferenceActivity独自の a を使用するだけPreferenceDialogです。これは実際にはあなたが望むものと同じではないかもしれませんが、 を使用するPreferenceActivityと、すべての設定を手動で処理する手間を大幅に省くことができます。

于 2012-02-22T15:13:56.983 に答える