【问题标题】:SearchView and BackPress event handlingSearchView 和 BackPress 事件处理
【发布时间】:2016-12-28 07:08:37
【问题描述】:

我在 HomeScreen 中包含了 SearchView。我使用SearchView 进行地点搜索。这是我HomeScreen的截图:

这是我在onCreateOptionsMenu 方法中的代码:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    menu.clear();
    inflater.inflate(R.menu.home, menu);
    searchItem = menu.findItem(R.id.menu_item_search_places);
    searchItem.setIcon(FontIconDrawable.inflate(getContext(), R.xml.ic_search));
    searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
    searchView.setOnSuggestionListener(this);
    searchView.setOnQueryTextListener(this);
    placesSearchAdapter = new PlacesSearchAdapter(this.getContext());
    searchView.setSuggestionsAdapter(placesSearchAdapter);
    searchView.setMaxWidth(750);
    MenuItemCompat.setOnActionExpandListener(searchItem, new MenuItemCompat.OnActionExpandListener() {
        @Override
        public boolean onMenuItemActionExpand(MenuItem item) {
            return true;
        }

        @Override
        public boolean onMenuItemActionCollapse(MenuItem item) {
            corLDriveInfoContainer.setVisibility(View.GONE);
            fabDrivingDirection.setVisibility(View.VISIBLE);
            mapView.deleteAllAnnotationsAndCustomPOIs();
            return true;
        }
    });
}

当我点击SearchIcon 时,这是我的SearchView

这是我的SearchView 结果:

C.

我有FabButton 来驱动选定的位置。

D.

但是,我的问题是,当我按下返回按钮时,如何从View D 回到View C

【问题讨论】:

    标签: android android-fragments searchview onbackpressed


    【解决方案1】:

    您应该像这样在您的活动中覆盖onBackPressed 方法

    @Override
    public void onBackPressed() {
       super.onBackPressed();
       //change your View from D to C using the same code you used to go to D from C
    }
    

    【讨论】:

      【解决方案2】:

      我在onBackPress 方法中包含这个来解决我的问题:

      @Override
      public void onBackPressed() {
           searchItem.expandActionView();
           searchView.setQuery("", false);
           searchView.clearFocus();
      
        super.onBackPressed();
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多