【问题标题】:How can I use setError() on a SearchView?如何在 SearchView 上使用 setError()?
【发布时间】:2018-09-21 06:08:43
【问题描述】:

我知道如何在EditText 上设置错误,如下所示:

 serverIp.setError("Server IP Is Required");
        serverIp.requestFocus();
        return;

但在SearchView 中没有设置错误的选项。

有没有办法得到结果?

【问题讨论】:

标签: java android searchview


【解决方案1】:

但在SearchView 中没有设置错误的选项。

的确如此。在SearchView 中有与setError() 相关的no public method我至少找不到),因为它是从LinearLayoutCompat 扩展而来的,而不是从EditText 扩展来使用setError()

相反,您可以在CardView 中使用EditText 来处理setError()


另外,请查看:https://stackoverflow.com/a/47573025/4409113

private fun setErrorOnSearchView(searchView: SearchView, errorMessage: String) {
    val id = searchView.context
            .resources
            .getIdentifier("android:id/search_src_text", null, null)
    val editText = searchView.find<EditText>(id)
    editText.error = errorMessage
}

您也许可以将SearchView 声明为绕过EditText 以使用setError()

【讨论】:

    猜你喜欢
    • 2018-06-10
    • 1970-01-01
    • 1970-01-01
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 2012-02-25
    • 2020-10-02
    • 2015-08-04
    相关资源
    最近更新 更多