actionbar中添加searchview并监听期伸缩/打开的方法

本文介绍如何在Android应用中设置并使用SearchView组件。通过在XML文件中指定actionViewClass属性为SearchView,并在onCreateOptionsMenu方法中设置监听器来实现。文章详细展示了如何响应SearchView的展开和收起事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先在xml中设置actionviewclass

 <item android:id="@+id/m1"
        android:title="setting"
        android:icon="@drawable/abc_ic_search_api_mtrl_alpha"
        android:showAsAction="always|collapseActionView"
        android:actionViewClass="android.widget.SearchView" />

然后在oncreateoptionmenu方法中获得menu实例,并设置监听

public boolean onCreateOptionsMenu(Menu menu) {
        
        getMenuInflater().inflate(R.menu.optionmenu, menu);
        MenuItem search = menu.findItem(R.id.m1);
        SearchView searchView = (SearchView) search.getActionView();
                MenuItemCompat.setOnActionExpandListener(search, new MenuItemCompat.OnActionExpandListener() {
            @Override
            public boolean onMenuItemActionCollapse(MenuItem item) {
                // Do something when collapsed
                Toast.makeText(MainActivity.this, "hello expand", Toast.LENGTH_LONG).show();
                return true;  // Return true to collapse action view
            }

            @Override
            public boolean onMenuItemActionExpand(MenuItem item) {
                // Do something when expanded
                Toast.makeText(MainActivity.this, "hello expand", Toast.LENGTH_LONG).show();
                return true;  // Return true to expand action view
            }
        });
        return true;
    }

注意添加监听的方式

转载于:https://www.cnblogs.com/u3shadow/p/4322614.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值