程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> android-擴展SearchActionItem沒有添加backstack

android-擴展SearchActionItem沒有添加backstack

編輯:編程綜合問答
擴展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也同時關閉,不知道怎麼辦?

最佳回答:


有一種辦法是在SearchViewOnActionExpandListener停止時finish()Activity。

searchMenuItem.setOnActionExpandListener(new OnActionExpandListener() {
  @Override
  public boolean onMenuItemActionCollapse(MenuItem item) {
    finish();
    return true;      
  }
  @Override
  public boolean onMenuItemActionExpand(MenuItem item) {  
    return true;      
  }
});
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved