1
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); 
    } 
} 

,이 예외 : 사용자 정의 PreferenceActivity에서 불확정 진행 아이콘을 표시하는 방법은 무엇입니까? 첫 번째 requestWindowFeature() 호출에서

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

은 분명히 내가이 시점에서 어떤 내용을 추가하지했습니다. super.onCreate()가 실행되는 동안 PreferenceActivity가 일부 상태를 변경했기 때문에 모든 자식에게 있다고 생각할 수 있습니까? 아니면 내가 사용해야만하는 명백한 속성이 있습니까?

XML을 사용하지 않고 이러한 환경 설정을 프로그래밍 방식으로 생성한다는 점도 지적해야합니다. 그러나 코드 스 니펫으로 문제가 발생하는 것으로 보입니다.

+0

logcat을 블록으로 구분하십시오. – JoxTraex

+1

'compound'액티비티 (PreferenceActivity, ListActivity) 등은 표준 뷰 컴포넌트 자체를 관리하기 때문에 super.onCreate()에 대한 의심이 옳다 (콘텐트 뷰를 설정 중이다). 선 다음에 선을 이동하여 창 피쳐를 요청하십시오. – Squonk

+0

MisterSquonk 당신이 가지고 있습니다! 제가 거의 거기에 있었지만 실제로는 수퍼 콜의 위치를 ​​가지고 놀았습니다. 왜냐하면 생성자에서 필수 일 때가 있기 때문입니다. 우리는 여기서 그런 상황에 처하지는 않았지만, 여전히 더 자주 첫 번째 (또는 마지막) 줄입니다. 자, 당신은 살고 배웁니다. - 고마워요. 어떻게 답변을 드릴 수 있습니까? –

답변

4

문제는 requestWindowFeature() 전에 super.onCreate()가 있다는 것입니다. 이것이 PreferenceActivity이므로 onCreate()에서 생성되는 몇 가지 표준 항목이 화면에 있습니다.

requestWindowFeature() 아래에서 onCreate()를 이동하기 만하면됩니다.

관련 문제