2014-01-26 171 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(); 
} 

我會在上面可見碼的4個行一個NullPointerException。

+0

我已經試過了,但我沒有訪問getWindow或currentWindow – Sulby

+1

在片段getActivity()。getWindow() –

+0

郵政全堆棧跟蹤,所以我們可以看到對於NPE的上下文。 – laalto

回答

4

是的。你不能用這個嗎?

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

在前面有一個getActivity(),這工作完美:) – Sulby