2014-01-26 6 views
0

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

Вот мой код внутри моего фрагмента:

private void setIsAlwaysOn(boolean b) 
{ 
    ViewPager pager = (ViewPager)getView().findViewById(R.id.pager); 
    pager.setKeepScreenOn(b); 

    sharePropertiesEditor.putBoolean(sp_alwaysOn, b); 
    sharePropertiesEditor.commit(); 
} 

Я получаю NullPointerException в строке 4 видимого кода выше.

+0

Я попытался это, но у меня нет доступа к GetWindow или currentWindow – Sulby

+1

фрагментным getActivity(). GetWindow() –

+0

Сообщение полный StackTrace поэтому мы можем видеть контекст для NPE. – laalto

ответ

4

Да. Вы не можете это использовать?

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
+1

С помощью функции getActivity() это отлично работало :) – Sulby

Смежные вопросы