捕获Searchview清除按钮事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了捕获Searchview清除按钮事件相关的知识,希望对你有一定的参考价值。

我正在尝试在搜索视图中捕获一个android项目的清除按钮事件:

SearchView _search = FindViewById<SearchView>(Resource.Id.publicSearchview);
_search.QueryTextSubmit += SearchBtn_Click;
ImageView _closeBtn = FindViewById<ImageView>(Resource.Id.search_close_btn);
_closeBtn.Click += CloseBtn_Click;

但_closeBtn始终为null。有什么建议??

    <SearchView
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/publicSearchview" />
答案

假设SearchView没有设置为icon'fy,这将起作用:

var _search = FindViewById<SearchView>(Resource.Id.searchView1);
int searchCloseButtonId = _search.Context.Resources.GetIdentifier("android:id/search_close_btn", null, null);
var _closeBtn = FindViewById<ImageView>(searchCloseButtonId);
_closeBtn.Click += (object sender, EventArgs e) => 
{ 
    Toast.MakeText(this, "Close Click", ToastLength.Long).Show();
};

以上是关于捕获Searchview清除按钮事件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 中展开的 SearchView(显示 10 个最近搜索)下方添加一个按钮(如“清除历史记录”)?

捕获自动完成文本框交叉图标的事件

如何在 Fragment 中捕获 onclick 事件

如何在后按时以编程方式关闭 SearchView?在片段中

在android中使用viewpager的带有多个片段的SearchView

C#按钮click事件是如何触发的