starwar2012 2013-03-01 05:38 采纳率: 0%
浏览 2025
已采纳

扩展SearchActionItem没有添加backstack

有一个搜索结果的Activity,在actionbar中有searchView组件。在onCreateOptionsMenu()自动扩展,并且显示查询结果:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.search_menu, menu);
    MenuItem searchMenuItem = (MenuItem) menu.findItem(R.id.menu_search);
    SearchView searchView = (SearchView)searchMenuItem.getActionView();
    searchView.setOnQueryTextListener(this);
    searchMenuItem.expandActionView(); // expand the search item
    searchView.setQuery(query, false); // hide the keyboard
    searchView.clearFocus();
    return true;
}

home键设置如下:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
        finish();
        break;
    default:
        break;
    }
    return super.onOptionsItemSelected(item);
}

实际上等到用户点击back或up键时,搜索先关闭了,需要在按一遍才能关闭activity,我需要实现的是activity也同时关闭,不知道怎么办?

  • 写回答

1条回答 默认 最新

  • Kill_it 2013-03-01 08:58
    关注

    有一种办法是在SearchViewOnActionExpandListener停止时finish()Activity。

    searchMenuItem.setOnActionExpandListener(new OnActionExpandListener() {
      @Override
      public boolean onMenuItemActionCollapse(MenuItem item) {
        finish();
        return true;      
      }
      @Override
      public boolean onMenuItemActionExpand(MenuItem item) {  
        return true;      
      }
    });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换