4

Honeycomb(Android 3.0)で実行されているデバイスでAutoCompleteTextViewコンポーネントを使用すると、奇妙な問題が発生します(Motorola Xoomを使用してテストします)。次のスタックトレースでNullpointer例外が発生します:

致命的な例外:android.widget.ListPopupWindow.show(ListPopupWindow)のandroid.widget.ListPopupWindow.buildDropDown(ListPopupWindow.java:1054)のandroid.widget.PopupWindow.getMaxAvailableHeight(PopupWindow.java:1152)のメインjava.lang.NullPointerException。 java:516)at android.widget.AutoCompleteTextView.showDropDown(AutoCompleteTextView.java:1047)at android.widget.AutoCompleteTextView.updateDropDownForFilter(AutoCompleteTextView.java:931)at android.widget.AutoCompleteTextView.onFilterComplete(AutoCompleteTextView.java:914)at 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)atjava.lang.reflect.Method。combNative(Native Method)at java.lang.reflect.Method.invoke(Method.java:491)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:841)atcom.android.internal。 os.ZygoteInit.main(ZygoteInit.java:599)at dalvik.system.NativeStart.main(ネイティブメソッド)

Gingerbreadを含む他のバージョンのAndroidではこの例外が発生しないことに注意してください。Honeycombコードベースの元のソースコードがないので、デバッグするのは本当に難しいです。誰かが私を助けてくれれば幸いです。

ありがとう、Torri。

4

2 に答える 2

5

私には正確な例外がありました。2.* ではすべてが機能しますが、3.x ではすべてこの例外がスローされ、単に 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 に答える