Searchview не работает, так как приложение Compat

Измените

.menu{
}

на

.menu{
    padding: 0;
}
61
задан Laurenswuyts 20 November 2014 в 20:49
поделиться

1 ответ

У меня была довольно подобная проблема с 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 собой

0
ответ дан 24 November 2019 в 16:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: