如何在自定义PreferenceActivity中显示不确定的进度图标?

时间:2011-05-05 17:20:22

标签: android android-preferences preferenceactivity android-progressbar

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 个答案:

答案 0 :(得分:4)

问题是你在requestWindowFeature()之前有super.onCreate()。由于这是PreferenceActivity,因此屏幕上有一些标准项在onCreate()中创建。

只需在requestWindowFeature()下面移动onCreate()。