@Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == android.R.id.home) { InputMethodManager manager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); manager.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); finish(); return true; } else if (id == R.id.action_search) { setSearchMode(true); mSearchView.setIconified(false); // This will cause the search view to be focused and show the keyboard return true; } else if (id == R.id.action_sort_none || id == R.id.action_sort_name || id == R.id.action_sort_member_count) { if (id == R.id.action_sort_name) mSortMode = SORT_NAME; else if (id == R.id.action_sort_member_count) mSortMode = SORT_MEMBER_COUNT; else mSortMode = SORT_UNSORTED; requestListUpdate(); return true; } return super.onOptionsItemSelected(item); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); PreferenceManager.setDefaultValues(this, R.xml.preferences, false); setContentView(R.layout.activity_main); ButterKnife.bind(this); setSupportActionBar(toolbar); ActionBar actionbar = getSupportActionBar(); actionbar.setDisplayHomeAsUpEnabled(true); actionbar.setHomeAsUpIndicator(R.drawable.ic_menu_white_24dp); viewPager.setAdapter(new MainPageAdapter(getSupportFragmentManager())); viewPager.addOnPageChangeListener(this); searchView.setOnQueryTextListener(this); searchView.setIconified(false); searchView.setIconifiedByDefault(false); navigationView.setNavigationItemSelectedListener(this::onNavigationItemSelected); onPageSelected(viewPager.getCurrentItem()); }
searchView.setIconified(false); menu.findItem(R.id.action_search).expandActionView();
/** * Called when a tab leaves the selected state. * <p/> * This method will take care of dismissing the searchview and showing the fab. */ @Override public void onTabUnselected(TabLayout.Tab tab) { OdysseyFragment fragment = mMyMusicPagerAdapter.getRegisteredFragment(tab.getPosition()); // dismiss searchview if (mSearchView != null && mOptionMenu != null && !mSearchView.isIconified()) { if (mSearchView.getQuery().length() > 0) { // clear filter only if searchview contains text if (fragment != null) { fragment.removeFilter(); } } mSearchView.setIconified(true); mOptionMenu.findItem(R.id.action_search).collapseActionView(); } if (null != fragment) { // Reenable memory trimming now, because the Fragment is hidden fragment.enableMemoryTrimming(true); } }
mSearchView.setIconified(false); menu.findItem(R.id.action_search).expandActionView();