События движения в Android - PullRequest
       1

События движения в Android

2 голосов
/ 27 февраля 2010

Это код для событий движения в моем инструментальном тестировании.

   long downTime = SystemClock.uptimeMillis();

   long eventTime = SystemClock.uptimeMillis();

   MotionEvent event = MotionEvent.obtain(downTime, eventTime,
   MotionEvent.ACTION_DOWN, 100,100, 0);

   MotionEvent event2 = MotionEvent.obtain(downTime, eventTime,
   MotionEvent.ACTION_UP, 100, 100, 0);

   instrumentation.sendPointerSync(event);

   instrumentation.sendPointerSync(event2);

И вот ошибка, которую я получаю:

java.lang.NullPointerException
at com.ni.fastflip.test.FastFlipWebviewTest.test(FastFlipWebviewTest.java:28)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:205)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:195)
at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:175)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:430)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447)

Может ли кто-нибудь предложить мне, что делать, пожалуйста

Ответы [ 3 ]

1 голос
/ 04 марта 2011

Вы должны сделать android.app.Instrumentation inst = getInstrumentation(); Внутри ActivityInstrumentationTestCase2 перед отправкой указателя синхронизации или других классов, которые имеют возможность получить экземпляр инструмента.

Полный образец здесь

0 голосов
/ 04 января 2011

Если верхняя часть трассировки стека указывает на нулевой указатель на этой строке:

instrumentation.sendPointerSync(event);

Тогда это означает, что instrumentation равно нулю, а не event. Если бы событие было нулевым, то нулевой указатель произошел бы внутри метода sendPointerSync или далее вверх по стеку.

0 голосов
/ 27 февраля 2010

Какие из этих строк - строка 28? вот где был указатель с нулевым указателем.

Используйте

if(whatever==null){ Log.d("tag","whatever was null"); }

чтобы выяснить, какая ссылка была нулевой в строке 28, если вам нужно.

...