2013-10-14 2 views
0

я хочу заблокировать ориентацию экрана в неактивности статического класса, как этоблокировка ориентации экрана в классе неактивности

public class ScreenUtil { 

private static Context context; 

public static void Init(Context context) { 
    ScreenUtil.context = context; 
} 

public static boolean lock() { 
    if (((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) || 
    ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE)) { 
     return false; 
    } else { 
     context.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
     return true; 
    } 
} 

}

но метод блокировки Eclipse, хочет бросить контекст объект

((Object) context).setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

и все еще хотите изменить отливать

мой вопрос, если я не могу изменить или разориентации, как это (в статическом классе неактивности) и как если его можно исправить это

спасибо за ответ

ответ

0

эталонного Пасс активности в качестве параметра вашего метода инициализации

private static Activity context; 

public static void Init(Activity context) { 
    ScreenUtil.context = context; 
} 

Тогда вы можете использование

context.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
+0

fine, но что, если я хочу Инициировать только в одном мероприятии (MainActivity).? – Mariusz

+0

и что то, что написал u, можно написать другим способом :) 'public static boolean lock (Activity context) {' – Mariusz

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