2013-03-20 88 views
0

我在Android的小白和我面臨的一個奇怪的例外,當我嘗試的setText或爲setColor或任何被致命異常主要(無法啓動活動)產生的原因:顯示java.lang.NullPointerException

protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

     pageNoSeek = (SeekBar)findViewById(R.id.pageNoSeekBar); 
     pageNotv = (TextView)findViewById(R.id.pageNotv); 
     nextButton=(ImageButton)findViewById(R.id.leftButton); 
     backButton=(ImageButton)findViewById(R.id.rightButton); 
     mainText = (TextView)findViewById(R.id.mainText); 
     mainText.setTextColor(Color.RED); 
} 
前工作如用代碼顯示

上面有什麼不尋常的..實際上可以我在另一臺機器上使用此之前相同的代碼..它在setTextColor或setTextSize給出錯誤,如果我加入吧..

> 03-20 07:55:17.552: E/AndroidRuntime(1718): FATAL EXCEPTION: main 
03-20 07:55:17.552: E/AndroidRuntime(1718): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.thedarkdimension.keyboardShortcut/com.thedarkdimension.keyboardShortcut.StoryViewController}: java.lang.NullPointerException 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at android.app.ActivityThread.access$600(ActivityThread.java:141) 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at android.os.Handler.dispatchMessage(Handler.java:99) 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at android.os.Looper.loop(Looper.java:137) 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at android.app.ActivityThread.main(ActivityThread.java:5041) 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at java.lang.reflect.Method.invokeNative(Native Method) 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at java.lang.reflect.Method.invoke(Method.java:511) 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at dalvik.system.NativeStart.main(Native Method) 
03-20 07:55:17.552: E/AndroidRuntime(1718): Caused by: java.lang.NullPointerException 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at com.thedarkdimension.keyboardShortcut.StoryViewController.getNextPage(StoryViewController.java:95) 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at com.thedarkdimension.keyboardShortcut.StoryViewController.connectToDB(StoryViewController.java:84) 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at com.thedarkdimension.keyboardShortcut.StoryViewController.onCreate(StoryViewController.java:47) 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at android.app.Activity.performCreate(Activity.java:5104) 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
03-20 07:55:17.552: E/AndroidRuntime(1718):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
03-20 07:55:17.552: E/AndroidRuntime(1718):  ... 11 more 

,我可以」噸得到它..任何人都可以幫助:)

+0

什麼是com.thedarkdimension.keyboardShortcut.StoryViewController.getNextPage(StoryViewController.java:95)?它實際上給出了Exception,而不是onCreate()。 – sandrstar 2013-03-20 08:02:45

回答

4

從你的onCreate的代碼片段看來你還沒有調用setContentView。 因此,所有對(X)findViewById(R.id.x);的調用返回null,因此當您嘗試對變量進行操作時,您將收到空指針異常。 [由於沒有找到視圖,mainText爲null]。

解決方案: 呼叫setContentView先初始化變量,做剩餘的東西

+0

它的工作感謝你:) – 2013-03-20 08:30:51

相關問題