Searchview не работает правильно android studio
У меня есть searchView в панели действий, и некоторые viewPage используют фрагмент, Tab1 Tab2 Tab3. В Tab1 и Tab3 я использую searchView, а tab2 скрываю его. searchView, кажется, работает нормально, но когда я меняю фрагмент вкладки с Tab1 на Tab2 и возвращаю Tab1, searchView в tab1 не работает. Когда изменить Tab1 на Tab2 на Tab3 и вернуть Tab2 и Tab1, это нормально, searchView работал. Так непонятно. Это основная активность:
<pre lang="java"> public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_item, menu); this.menu = menu; MenuItem item = menu.findItem(R.id.action_search); searchView.setMenuItem(item); return true; } viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {} @Override public void onPageSelected(int position) {if(position==0){searchView.setVisibility(View.VISIBLE); MenuItem item2 = menu.findItem(R.id.action_search); item2.setIcon(R.drawable.ic_action_action_search); item2.setVisible(true); toolbar.setTitle("Danh Sách Bài Hát"); } if(position==1){ searchView.setVisibility(View.INVISIBLE); searchView.clearFocus(); searchView.closeSearch(); MenuItem item2 = menu.findItem(R.id.action_search); item2.setIcon(null); toolbar.setTitle("Bài Hát Yêu Thích"); }if(position==2){//searchView.setVisibility(View.INVISIBLE); searchView.setVisibility(View.VISIBLE); MenuItem item2 = menu.findItem(R.id.action_search); item2.setIcon(R.drawable.ic_action_action_search); item2.setVisible(true); toolbar.setTitle("Địa điểm âm nhạc");} if(position==3){searchView.setVisibility(View.INVISIBLE);MenuItem item2 = menu.findItem(R.id.action_search);item2.setVisible(false); toolbar.setTitle("Hướng dẫn sử dụng"); }} @Override public void onPageScrollStateChanged(int state) { } }); tabLayout = (TabLayout) findViewById(R.id.tabs); tabLayout.setupWithViewPager(viewPager); setupTabIcons(); }
Что я уже пробовал:
Я пытаюсь построить android-приложение, которое показывает listview во вкладке fragment. У меня есть searchview в actionbar, но он работает неправильно.
Richard MacCutchan
"но это не работает правильно."
Это могло означать что угодно.
Почему бы не избавиться от всех этих фрагментов и не работать над SearchView изолированно? Как только у вас это сработает, вы можете начать строить эту логику в своих фрагментах.