2

I am having a confusion regarding setting of a background colour in my preference activity. My settingsactivity doen't have any layout.xml attached with it and thus generated everything from the headers.xml and preferences.xml. I used this answer in my onCreate method of my settingsactivity class.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setupActionBar();
    this.getWindow().getDecorView().setBackgroundColor(0xFF111321);
}

Using this I can see the change in my preferences (sorry for the colour) but my headers headers stay the same. To change the background of my headers I have to write:

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setupActionBar();
    this.getWindow().getDecorView().setBackgroundColor(0xFF111321);
    listView = getListView();
    listView.setBackgroundColor(0xFF111321);
}

Also if I don't use getWindow() the opposite happens.

Why is this happening? I hate writing duplicate code for the same functionality, is there any way to do the requirement with a single code.

N.B. getWindow() also works with my other activities.

Community
  • 1
  • 1
Sayak Mukhopadhyay
  • 1,332
  • 2
  • 19
  • 34

0 Answers0