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