#android-studio #android-layout #android-optionsmenu
Вопрос:
Я пытаюсь изменить значок с помощью Xml и кода, но Android studio загружает значок по умолчанию.Скажи мне, в чем моя ошибка
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { inflater.inflate(R.menu.search_menu, menu) val searchItem = menu.findItem(R.id.gps_img) val searchView = searchItem.actionView as SearchView searchView.queryHint = "Current city?" searchItem.setIcon(R.drawable.ic_baseline_gps_fixed_24) searchView.isSubmitButtonEnabled = true searchView.setOnQueryTextListener(this) } lt;menu xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android"gt; lt;item android:title="@string/gps" android:id="@ id/gps_img" app:actionViewClass="androidx.appcompat.widget.SearchView" app:showAsAction="ifRoom" android:icon="@drawable/ic_baseline_gps_fixed_24" /gt;
Ответ №1:
Переопределите public void onPrepareOptionsMenu(@NonNull Menu menu)
метод, напишите логику изменения значка внутри него, также вызывайте invalidateOptionsMenu()
метод всякий раз, когда вы хотите изменить значок меню.