4

在 Honeycomb (Android 3.0) 上运行的设备上使用 AutoCompleteTextView 组件时,我遇到了一个奇怪的问题(使用 Motorola Xoom 进行测试)。我得到一个带有以下堆栈跟踪的 Nullpointer 异常:

致命异常:在 android.widget.ListPopupWindow.buildDropDown(ListPopupWindow.java:1054) 在 android.widget.PopupWindow.getMaxAvailableHeight(PopupWindow.java:1152) 在 android.widget.ListPopupWindow.show(ListPopupWindow. java:516) 在 android.widget.AutoCompleteTextView.showDropDown(AutoCompleteTextView.java:1047) 在 android.widget.AutoCompleteTextView.updateDropDownForFilter(AutoCompleteTextView.java:931) 在 android.widget.AutoCompleteTextView.onFilterComplete(AutoCompleteTextView.java:914) 在android.widget.Filter$ResultsHandler.handleMessage(Filter.java:285) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:126) at android.app .ActivityThread.main(ActivityThread.java:3997) 在 java.lang.reflect.Method。在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 在 com.android.internal 的 java.lang.reflect.Method.invoke(Method.java:491) 的 invokeNative(Native Method)。 os.ZygoteInit.main(ZygoteInit.java:599) 在 dalvik.system.NativeStart.main(Native Method)

请注意,我在包括 Gingerbread 在内的任何其他 Android 版本上都没有遇到此异常。由于我没有 Honeycomb 代码库的原始源代码,因此很难调试。如果有人可以帮助我,我将不胜感激。

谢谢,托里。

4

2 回答 2

5

我有确切的例外。在 2.* 中一切正常,但在 3.x 中都抛出了这个异常,简单地 try catch 没有用。

最后我发现,如果我从视图中删除以下行,那么它对我有用:

android:dropDownAnchor="@+id/searchField"
于 2011-07-15T07:14:27.863 回答
1

我不确定这是否有帮助,但我在按钮上遇到了类似的奇怪问题。它在除 3.0 之外的所有版本上都运行良好所以我这样做了:

try{
  mButton.setOnClickListener(...
     //code...

}catch(NullPointerException e){

}

在此之后没有更多的错误,你猜怎么着?该按钮现在在 3.0 上工作正常!

于 2011-04-22T21:03:38.613 回答