У меня была довольно подобная проблема с androidx.appcompat.widget.SearchView
, но другая причина. Катастрофический отказ происходит на кнопке действий, нажимают
Process: hotspotshield.android.vpn, PID: 26089
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.drawable.Drawable.getPadding(android.graphics.Rect)' on a null object reference
at androidx.appcompat.widget.SearchView.adjustDropDownSizeAndPosition(SearchView.java:1373)
at androidx.appcompat.widget.SearchView$4.onLayoutChange(SearchView.java:380)
at android.view.View.layout(View.java:20690)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
The, причина пропускает атрибут android:popupBackground
в теме. На самом деле материальные темы AppCompat имеют необходимый фон, но несмотря на мою тему расширяется от Theme.AppCompat.Light
, это все еще отказывает. Единственное решение, которое я нашел, состоит в том, чтобы переопределить атрибут:
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:popupBackground" tools:ignore="PrivateResource">@drawable/abc_popup_background_mtrl_mult</item>
</style>
Это - значение по умолчанию, drawable, который используется в AppCompat. Это отмечено как частное, но можно использовать его все же. Или объявите фон, drawable собой