Android Studio遇到的錯誤:java.lang.NullPointerException及解決方法
阿新 • • 發佈:2018-10-31
使用Android Studio,執行Textview.settext時遇到的誤:java.lang.NullPointerException,空指標異常,如下:
Caused by: java.lang.NullPointerException at imooc.com.topbar.TopbarLayout.setToptext(TopbarLayout.java:68) at imooc.com.topbar.MainActivity.onCreate(MainActivity.java:21)
空指標說明一定有東西為null。於是我測試了一下
public void setToptext(String a){
if(textView3==null){
Log.d("測試textView3==null","textView3==null");
}else {
textView3.setText(a);
}
}
果然,打印出
03-14 14:09:12.731 5609-5609/imooc.com.topbar D/測試textView3==null: textView3==null
說明我的textview3沒有指向一個實際存在的物件,因此就無法呼叫該物件的屬性和方法,也就造成空指標異常。
null是所有引用型別的預設值,如果沒有讓一個引用指向一個實際存在的物件,它的預設值就是null。
於是我在setToptext方法中重新對textview3進行例項化,如下:
public void setToptext(String a){ TextView textViewtop=findViewById(R.id.textviewtitle2); if(textViewtop==null){ Log.d("測試textView3==null","textView3==null"); }else { textViewtop.setText(a); } }
程式就可以正常運行了。
因此一旦出現空指標異常的錯誤,一定要去找哪一個引用沒有指向實際存在的物件,導致為null。