奇怪的Nullpointer与跨越

时间:2011-11-08 19:28:36

标签: android

我有一些具有Spanned属性的对象。这些包含HTML代码,包括图像。 在按钮上单击我在TextView中显示跨区域内容。 有时候(我无法重现这个)我得到了这个例外:

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 [...]

在下面的第二行中,抛出异常(因此Spanned isnt null!):

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

有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

tv为空或ans为空。您可以通过在if语句之前插入以下代码来编写一个小测试来确定它是哪一个:

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

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

当您确定它是哪一个时,请仔细检查您的代码并检查以确保您已初始化它们。