删除footerview时如何获得空指针异常?在调用
之前,我检查了footerview和listview都不为nullmyListView.removeFooterView(mFooterView)
此listview确实有一个多列表适配器。我还检查了每个可能已添加的页脚的父级,并且每个页脚的父级都为空。
BTW,getAllFooterViews究竟在哪里? hasFooterView(footerView)? SDK中的方法。PS。我认为编写良好的API不应该隐藏这些信息。
FATAL EXCEPTION: main
java.lang.NullPointerException
at android.widget.ListView.removeFooterView(ListView.java:461)
at com.mypackage.MyActivity.clearAllFooters()
哪个页脚似乎无关紧要。它实际上是我试图删除的任何东西,可能已添加的四个页脚中的任何一个。
一些上下文,ListView当前不可见,确实有焦点,并且在返回异步调用后页脚被清除。我在同一个MyActivity上有三个列表视图,这个ListView当前不可见,它没有焦点,但仍然是空指针异常?
我正在编译4.03并在android sdk 2.2上部署
我也在检查页脚数是否大于0。
答案 0 :(得分:3)
它可能是您的Android API的版本。这里描述得非常好:Crash on ListView.removeFooterView(View)
看起来Android团队可能忘记在他们的API中检查NULL。您可以在自定义适配器类中修复此问题。
答案 1 :(得分:1)
正如您所看到的,Nullpointer是由API而不是您的代码引起的。这并不意味着你无法处理它。我敢打赌你的观察对象上有一些不好的东西。
ListView.java:461
清楚地说它导致了android API代码......
答案 2 :(得分:0)
我敢打赌两件事之一:
View
ID(非常不可能,因为添加页脚/标题时可能会出现同样的问题,或者当列表适配器设置时);或者,mFooterView
为空。确保您已向右侧页脚View
充气。让我知道你的进展。