Предпочтительная деятельность в диалоге оповещений - PullRequest
1 голос
/ 22 февраля 2012

Можно ли накачать 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

1 Ответ

2 голосов
/ 22 февраля 2012

Я не думаю, что можно использовать PreferenceScreen вне PreferenceActivity, как это ... но вот несколько альтернатив:

1) Сделать Activity таким, какдиалоговое окно с использованием стиля в вашем Manifest:

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

2) Используйте AlertDialog в том виде, в каком вы сейчас находитесь, но накачайте его собственным макетом, который имеет те же функции, что и вы PreferenceScreenделает.Тогда вам придется управлять получением и настройкой настроек вручную.

3) Просто используйте PreferenceActivity со своим собственным PreferenceDialog.Возможно, это не совсем то, что вам нужно, но использование PreferenceActivity избавит вас от необходимости вручную обрабатывать все ваши предпочтения.

...