2013-05-06 2 views
0

Вот мой код:TouchEvent с дисплеем в андроиде

Display display; 
......... 
public boolean onTouchEvent(MotionEvent event) { 
// TODO Auto-generated method stub 
float x = event.getX(); 
float y = event.getY();  
int height = display.getWidth(); 
......... 
} 

Каждый раз, когда я включаю "ИНТ высоту = display.getWidth();" при тестировании моего приложения. Программа выйдет из строя. Кажется, каждый раз, когда я вызываю метод из Диска, сбой приложения.

+0

мы можем иметь LogCat –

+0

От вашего кода, я вижу, что «дисплей» не инициализируется ни к чему. Итак, я думаю, его nullPointerException. – SKK

ответ

0

инициализации дисплея, как показано ниже

WindowManager wm = (WindowManager) ctx 
      .getSystemService(Context.WINDOW_SERVICE); 
    Display display = wm.getDefaultDisplay(); 
+0

Я предполагаю, что ctx - это контекст? при загрузке фона он разбился. Кстати, вот новый лог-кот. –

+0

: W/dalvikvm (326): threadid = 1: выход с исключающим исключением (группа = 0x4001d800) 05-06 14: 59: 30.011: E/AndroidRuntime (326): FATAL EXCEPTION: main 05-06 14: 59: 30.011: E/AndroidRuntime (326): java.lang.RuntimeException: не удалось создать экземпляр активности ComponentInfo {com.proandroidgames/ com.proandroidgames.SFGame}: java.lang.NullPointerException 05-06 14: 59: 30.011: E/AndroidRuntime (326): \t at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2585) ....................... –

+0

Если ваш код находится в действии, а затем просто удаляет ctx. – Bolton