J'ai essayé de lancer AddEditRecipesActivity.java de RecipesActivity.java. Dans RecipesActivity, il y a une liste de données de datatable. En appuyant sur le bouton Ajouter dans RecipesActivity, AddEditRecipesActivity.java est appelé, où j'insère des données dans datatable. Mais lorsque j'ai appuyé sur ce bouton, mon application s'est bloquée.
Il s'agit des messages LogCat.
08-20 04:13:20.315: E/Your TAG,(9425): Your Message
- 08-20 04:13:20.315: E/Your TAG,(9425): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.behealthy/com.example.behealthy.AddEditRecipesActivity}: java.lang.NullPointerException
- 08-20 04:13:20.315: E/Your TAG,(9425): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2024)
- 08-20 04:13:20.315: E/Your TAG,(9425): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)
- 08-20 04:13:20.315: E/Your TAG,(9425): at android.app.ActivityThread.access$600(ActivityThread.java:140)
- 08-20 04:13:20.315: E/Your TAG,(9425): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
- 08-20 04:13:20.315: E/Your TAG,(9425): at android.os.Handler.dispatchMessage(Handler.java:99)
- 08-20 04:13:20.315: E/Your TAG,(9425): at android.os.Looper.loop(Looper.java:137)
- 08-20 04:13:20.315: E/Your TAG,(9425): at android.app.ActivityThread.main(ActivityThread.java:4898)
- 08-20 04:13:20.315: E/Your TAG,(9425): at java.lang.reflect.Method.invokeNative(Native Method)
- 08-20 04:13:20.315: E/Your TAG,(9425): at java.lang.reflect.Method.invoke(Method.java:511)
- 08-20 04:13:20.315: E/Your TAG,(9425): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
- 08-20 04:13:20.315: E/Your TAG,(9425): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
- 08-20 04:13:20.315: E/Your TAG,(9425): at dalvik.system.NativeStart.main(Native Method)
- 08-20 04:13:20.315: E/Your TAG,(9425): Caused by: java.lang.NullPointerException
- 08-20 04:13:20.315: E/Your TAG,(9425): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:228)
- 08-20 04:13:20.315: E/Your TAG,(9425): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224)
- 08-20 04:13:20.315: E/Your TAG,(9425): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
- 08-20 04:13:20.315: E/Your TAG,(9425): at com.example.behealthy.AddEditRecipesActivity.<init>(AddEditRecipesActivity.java:27)
- 08-20 04:13:20.315: E/Your TAG,(9425): at java.lang.Class.newInstanceImpl(Native Method)
- 08-20 04:13:20.315: E/Your TAG,(9425): at java.lang.Class.newInstance(Class.java:1319)
- 08-20 04:13:20.315: E/Your TAG,(9425): at android.app.Instrumentation.newActivity(Instrumentation.java:1057)
- 08-20 04:13:20.315: E/Your TAG,(9425): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2015)
- 08-20 04:13:20.315: E/Your TAG,(9425): ... 11 more
Merci.
Réponses:
2 pour la réponse № 1De cette ligne
Caused by: java.lang.NullPointerException
nous savons que le problème est que quelque chose est null
. Et à partir de cette ligne (la première ligne après celle qui fait référence à votre projet)
at com.example.behealthy.AddEditRecipesActivity.<init>(AddEditRecipesActivity.java:27)
nous savons que "quelque chose qui est nul" est à la ligne 27 de AddEditRecipesActivity
Voyez ce qui pourrait être null
là-bas et comprendre pourquoi il serait null
. Si vous avez besoin de plus d'aide, veuillez poster le code correspondant.
1 pour la réponse № 2
Une variable à laquelle vous accédez AddEditRecipesActivity
à la ligne 27 est null
.
Si vous double-cliquez sur un message dans le logcat, eclipse vous amènera à la ligne appropriée.
Si vous ne voyez pas quelle variable est null
essayez d'imprimer certaines valeurs avec
Log.d("MyTag", "The value of xyz="+xyz);
Ou exécutez votre code sous le débogueur.