-1

ゲーム用に 3 つのアクティビティを作成しました。

1. gameActivity -- スコアを更新するため、databaseActivity からメソッドを呼び出します。 2. --- 3databaseActivity から update メソッドを呼び出します。 --- update メソッドがあります。dataHelperActivitydataHelperActivity

で datahelper を呼び出すことができません。databaseActivityを取得してNullPointerExceptionいます。

01-25 12:22:38.352: E/AndroidRuntime(2869): FATAL EXCEPTION: UpdateThread
01-25 12:22:38.352: E/AndroidRuntime(2869): java.lang.NullPointerException
01-25 12:22:38.352: E/AndroidRuntime(2869):     at com.snakegame.database.SnakeDatabase.manipulateCurrency(SnakeDatabase.java:1597)
01-25 12:22:38.352: E/AndroidRuntime(2869):     at com.snakegame.classic_mode.SnakeGameWithLevelActivity$16.run(SnakeGameWithLevelActivity.java:1779)
01-25 12:22:38.352: E/AndroidRuntime(2869):     at org.andengine.engine.handler.runnable.RunnableHandler.onUpdate(RunnableHandler.java:42)
 01-25 12:22:38.352: E/AndroidRuntime(2869):    at org.andengine.engine.Engine.onUpdateUpdateHandlers(Engine.java:596)
 01-25 12:22:38.352: E/AndroidRuntime(2869):    at org.andengine.engine.Engine.onUpdate(Engine.java:585)
 01-25 12:22:38.352: E/AndroidRuntime(2869):    at org.andengine.engine.Engine.onTickUpdate(Engine.java:548)
01-25 12:22:38.352: E/AndroidRuntime(2869):     at org.andengine.engine.Engine$UpdateThread.run(Engine.java:820)
01-25 12:22:38.398: D/AndEngine(2869): SnakeGameWithLevelActivity.onPause @(Thread: 'main')
01-25 12:27:38.398: I/Process(2869): Sending signal. PID: 2869 SIG: 9
4

2 に答える 2

2

これをマニフェスト ファイルに追加します

<activity
        android:name="databaseActivity"
        android:label="@string/title" >
于 2013-01-25T07:43:19.220 に答える
1

これが問題だと思います。DatabaseHelperクラスを呼び出している間Activity、以下のように現在のインスタンスをそれに渡します。

 DataBaseHelper myDbHelper = new DataBaseHelper(this); //Here this is the instance of the current activity
于 2013-01-25T07:27:23.090 に答える