通过 XML 和动态的 SearchView 提示之间的区别

Difference between SearchView hint via XML and dynamically

searchable.xml(需要使用 SearchView 小部件)和动态声明其提示之间有什么区别?为什么声明 SearchView 提示动态有效但在 XML 文件中做同样的事情却不显示它?

通过XML

<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
    android:label="@string/app_name"
    android:hint="@string/search" />

通过 Kotlin

searchView.queryHint = "Search"

因为android:hintEditText的提示(EditText继承自TextView,这是实现提示的视图,来自官方documentation )

你要找的属性是android:queryHint,你可以从官方看到documentation

在 Kotlin 的做法中 queryHint 您是直接设置变量,因为在 Kotlin 中没有明确需要 getter 和 setter。该变量名是解决问题的线索,class 上的字段称为 queryHint 而不是 hint