0
我正在使用getwindow在我的onCreate內的一堆活動的開始處設置了很多東西。我想用類似下面的方法來取代這個:如何使用來自監聽器的方法調用getWindow()
public static void initializeScreen (Activity This){
This.requestWindowFeature(Window.FEATURE_NO_TITLE);
if (global.notBarOnOff == true) {
This.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
This.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);}
//Keeps Screen on
This.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
// Controls Screen Brightness
Settings.System.putInt(This.getContentResolver(), SCREEN_BRIGHTNESS_MODE, SCREEN_BRIGHTNESS_MODE_MANUAL);
final WindowManager.LayoutParams settings = This.getWindow().getAttributes();
settings.screenBrightness = (float) 0.10;
This.getWindow().setAttributes(settings);
}
現在,我認爲這會工作得很好,通過調用SCREEN_Controller.initializeScreen(本)
後來我讓用戶通過按下改變亮度一個按鈕。
bLight.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
settings.screenBrightness = (float) 1;
getWindow().setAttributes(settings);
我知道用我initializeScreen我會在下面添加到我的聽衆
WindowManager.LayoutParams settings = This.getWindow().getAttributes();
所以我想,以取代與方法,以及從我SCREEN_Controller類。問題是我無法使用之前使用的(Activity This),因爲它不會讓我使用new調用setOnClickListener中的Activity。我究竟做錯了什麼?
YourClassName.this運作良好。我在我的方法中使用這個來提醒我在調用它時使用「this」。我不確定是否完全清楚,我把一種方法放在最高點,而不是我的活動中。謝謝你的幫助! – MinceMan