我是Android開發新手。我的應用程序編譯完美(沒有錯誤,沒有警告),但它在啓動時崩潰。我已經診斷出崩潰的原因是NullPointerException,並且我發現如果根據此聲明刪除TextView output = (TextView) findViewById(R.id.outputbox);
以及所有行,該應用程序將啓動罰款。我做了研究(無論是在Stack Exchange上還是在Stack Exchange上,還有大約5頁的Google結果),而且我找到的解決方案都沒有工作,這就是我問這個問題的原因。在TextView output = (TextView) findViewById(R.id.outputbox);
之前我已經運行setContentView(R.layout.activity_main);
,並且在activity_main.xml中聲明瞭outputbox
。這不是現有問題的重複,因爲其他答案的答案並未解決我的問題。findViewById導致NullPointerException無明顯原因
-2
A
回答
0
很可能您的聲明和變量output
的初始化屬於該類。這是行不通的。方法findViewById
只有在調用setContentView
方法後才能使用。這就是爲什麼你必須聲明你的類變量,但setContentView
方法後,立即在該方法onCreate
初始化:
public class MainActivity extends AppCompatActivity {
TextView output;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
output = (TextView) findViewById(R.id.outputbox)
}
}
的方法findViewById
搜索在XML您的組件。爲了這個工作,你必須指出這個Activity將使用什麼XML文件。這在setContentView(R.layout.activity_main);
命令中完成。這是一個常見的錯誤,所以不用擔心:)
相關問題
- 1. QProcess因無明顯原因而死亡
- 2. getgrnam()導致錯誤沒有明顯的原因?
- 3. NullPointerException運行期間不明原因
- 4. 在我的Java程序中導致NullPointerException的原因是什麼?
- 5. 在此代碼中導致NullPointerException的原因是什麼?
- 6. 在Hibernate select上導致這個NullPointerException的原因是什麼?
- 7. 在AWT-EventQueue-0線程中導致NullPointerException的原因
- 8. findViewById nullPointerException
- 9. BufferedReader返回Null無明顯原因
- 10. 非特定錯誤,無明顯原因
- 11. 和array_diff()不無明顯原因
- 12. 什麼原因導致SocketTimeoutException
- 13. gzopen()導致ENOMEM的原因
- 14. 什麼原因導致HttpMessageNotWritableException?
- 15. 什麼原因導致com.aerospike.client.AerospikeException:java.io.EOFException?
- 16. time.sleep()函數顯然是導致語法無效的原因
- 17. 無法確定NullPointerException的原因
- 18. Android:無法找到NullPointerException的原因
- 19. findViewById(android.R.id.content).getRootView()nullPointerException
- 20. TextView findviewbyID NullpointerException
- 21. NullPointerException異常findViewById()
- 22. locationManager.requestLocationUpdates()導致NullpointerException
- 23. ViewAnimator導致NullPointerException
- 24. notifyDataSetChanged()導致NullPointerException
- 25. ManagedQuery導致nullpointerexception
- 26. 什麼原因導致「聲明中沒有表」消息?
- 27. 使用llvm :: dyn_cast在失敗的聲明中導致原因
- 28. 簡單的JQuery示例導致我不明原因的麻煩
- 29. 由於沒有明顯的原因導致應用程序崩潰後
- 30. pm.makePersistent()的NullPointerException的原因
發佈您的.xml和活動代碼。 –
發佈.xml代碼 –
您幾乎不會爲任何特定場景找到現成的解決方案。關鍵是*理解*問題和*適應*解決方案。 – shmosel