2011-11-08 17 views
2

我有一些具有跨度屬性的對象。這些填充了包含圖像的HTML代碼。 在一個按鈕上單擊我在TextView中顯示Spanned內容。 有時(我不能重現這個)我得到這個異常:(!這樣跨越式的心不是空)帶跨度的奇異空指針

11-07 23:26:16.707: E/AndroidRuntime(23715): java.lang.NullPointerException 11-07 23:26:16.707: E/AndroidRuntime(23715): at android.text.SpannableStringBuilder.length(SpannableStringBuilder.java:126) 11-07 23:26:16.707: E/AndroidRuntime(23715): at android.widget.TextView.setText(TextView.java:2631) 11-07 23:26:16.707: E/AndroidRuntime(23715): at android.widget.TextView.setText(TextView.java:2598) 11-07 23:26:16.707: E/AndroidRuntime(23715): at android.widget.TextView.setText(TextView.java:2573) 11-07 23:26:16.707: E/AndroidRuntime(23715): at [...]

在接下來的第二行,拋出異常:

if(hasSpanned){ 
     tv.setText(ans.getTxtS()); 
} 

燦有人幫助我?

回答

2

tv爲空或ans爲空。你可以寫一個小測試,以找出它是由你,如果statment之前插入以下代碼之一:

if(tv == null){ 
    Log.e("MyError", "Tv was null"); 
} 

if(ans == null){ 
    Log.e("myError", "ans was null"); 
} 

當你弄清楚我們的其中之一是,通過你的代碼和檢查,以確保你」已初始化它們。

+0

感謝您的回答寇蒂斯!但我得到hasSpanned之前:boolean hasSpanned =(ans.getTxtS()== null)?假:真;電視也是空的:-( – intA

+0

好吧,ans.getTxtS()沒有拋出NullPointer,但ans顯示了一個com.sun.jdi.InvocationException發生的調用方法,當我在調試模式下觀看它時,奇怪的是。有時它可以工作.. – intA