【问题标题】:Catch Click Event on UP icon for SearchView in Android.在 Android 中为 SearchView 捕获 UP 图标上的单击事件。
【发布时间】:2014-09-09 05:44:50
【问题描述】:

我在我的 ListView 上实现了 SearchView。当我在此搜索小部件的 EditText 中输入一些文本时,它会过滤我列表中的内容。但是,如果我在单击 UP/home 图标而不清除 EditText 中的文本的情况下关闭此搜索小部件,我仍然得到过滤列表而不是完整列表。

所以我需要捕捉 SearchViewUP 图标事件以清除 EditText 中的文本,或者还有其他方法吗?

【问题讨论】:

    标签: android android-actionbar android-search


    【解决方案1】:

    可能,你需要试试这个,而不是依赖UP图标点击事件。

    menuItem.setOnActionExpandListener(new OnActionExpandListener()
            {
    
                @Override
                public boolean onMenuItemActionCollapse(MenuItem item)
                {
                    // Do something when collapsed
    
                    return true; // Return true to collapse action view
                }
    
                @Override
                public boolean onMenuItemActionExpand(MenuItem item)
                {
                    // Do something when Expanded
                    return true;
                }
            }); 
    

    【讨论】:

    • 我们是否也有溢出图标点击监听器?
    【解决方案2】:

    你就是这样做的。

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch(item.getItemId()){
        // this is item ID of that back part which you want
        case android.R.id.home:
              // Control will come here when back/or app icon is pressed
        break;
        }
        return super.onOptionsItemSelected(item);
    }
    

    【讨论】:

    • 对不起,但它不起作用。我已经调试并且控制甚至没有进入onOptionItemSelected。可能是,与此 SearchView 关联的 UP 图标与用于向上导航的图标不同。
    • Thnx @Techfist,找到了一个合理的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2011-04-15
    • 2011-03-27
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    相关资源
    最近更新 更多