Как показать значок неопределенного прогресса в пользовательском PreferenceActivity? - PullRequest
1 голос
/ 05 мая 2011
public class MyPreferences extends PreferenceActivity {

    @Override
    public void onCreate( Bundle savedInstanceState ) {
        super.onCreate( savedInstanceState );
        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
        requestWindowFeature(Window.FEATURE_PROGRESS);
        ...
        setProgressBarIndeterminateVisibility(true);
        setProgressBarVisibility(true);
    }
}

При первом вызове requestWindowFeature () это выдает:

    ERROR/AndroidRuntime(16406): Caused by: android.util.AndroidRuntimeException: requestFeature() must be called before adding content

Очевидно, что на данный момент я не добавил никакого контента.Изменилось ли PreferenceActivity в каком-либо состоянии во время super.onCreate (), что заставляет детей думать, что оно изменилось?Или есть какой-то атрибут манифеста, который я должен использовать?

Я должен также указать, что я создаю эти настройки без xml, то есть полностью программно, но фрагмента кода достаточно, чтобы показать, что проблема возникает в любом случае.

1 Ответ

4 голосов
/ 12 октября 2011

Проблема в том, что у вас есть super.onCreate () перед requestWindowFeature (). Поскольку это PreferenceActivity, на экране есть несколько стандартных элементов, которые создаются в onCreate ().

Просто переместите onCreate () ниже requestWindowFeature ().

...