Я слишком разочарован этой проблемой.Прежде всего, это работало нормально, без проблем, я понятия не имею, почему я сейчас получаю эту ошибку.
Приложение отлично работает на моем телефоне (v2.3.4), но не на одном эмуляторе (1.6> 2.3)
Ошибка, которую я получаю, - это NullPointerException сразу после загрузки приложения.Вот DDMS
08-24 21:10:11.706: WARN/dalvikvm(423): threadid=1: thread exiting with uncaught exception (group=0x40015560)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): FATAL EXCEPTION: main
08-24 21:10:11.726: ERROR/AndroidRuntime(423): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp.app/com.myapp.app.SplashActivity}: java.lang.NullPointerException
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1622)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.os.Handler.dispatchMessage(Handler.java:99)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.os.Looper.loop(Looper.java:123)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.app.ActivityThread.main(ActivityThread.java:3647)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at java.lang.reflect.Method.invokeNative(Native Method)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at java.lang.reflect.Method.invoke(Method.java:507)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at dalvik.system.NativeStart.main(Native Method)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): Caused by: java.lang.NullPointerException
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at com.myapp.app.SplashActivity.onCreate(SplashActivity.java:43)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): ... 11 more
ОК, поэтому я смотрю, что вызвало проблему (08-24 21: 10: 11.726: ОШИБКА / AndroidRuntime (423): на com.myapp.app.SplashActivity.onCreate (SplashActivity.java:43))
Вот мой onCreate:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome);
Button playBtn = (Button) findViewById(R.id.playBtn);
playBtn.setOnClickListener(this);
Button settingsBtn = (Button) findViewById(R.id.settingsBtn);
settingsBtn.setOnClickListener(this);
Button rulesBtn = (Button) findViewById(R.id.rulesBtn);
rulesBtn.setOnClickListener(this);
Button exitBtn = (Button) findViewById(R.id.exitBtn);
exitBtn.setOnClickListener(this);
}
Последняя строка 43: exitBtn.setOnClickListener (this);
Это обрабатываетсяпозже в приложении, использующем оператор switch для каждой кнопки, единственным кодом для кнопки выхода является 'finish ();'но он вылетает 'onCreate', а не onClick.
Это не имеет смысла для меня, раньше это работало нормально, и я не менял код, относящийся к этому, так как раньше он работал.Кроме того, кнопка выхода настроена точно так же, как и все остальные кнопки (в файлах src и layout), так почему же она зависала, когда доходила до кнопки выхода?Как я уже сказал, это работает нормально на моем устройстве cyn7, но не на любом из эмуляторов (это было сделано)
Это приложение заняло огромное количество работы, чтобы добраться до этого момента, я просто делал финальные тестыкогда это началось .. так бесит!
Может ли кто-нибудь предложить какие-либо предложения по исправлению или даже относительно того, почему это может произойти?
РЕДАКТИРОВАТЬ: ОК, это действительно странно.Я закомментировал кнопку «Выход».Теперь моя кнопка «Воспроизвести» ничего не делает (даже в DDMS ничего не показывает) настройки в порядке, и правила вылетают, с той же ошибкой для действия правил в setOnClickListener (this).Что не имеет смысла, так как в настройках также есть setOnClickListener.Что происходит?!