【发布时间】:2020-02-18 19:34:54
【问题描述】:
我正在开发一个项目,其中MainActivity 是唯一一个具有多个带有 ViewPage 的 Fragment 的 Activity,每个 Fragment 都使用实现 Filterable 接口的 RecyclerView 自定义适配器显示数据。 MainActivity 是
public class MainActivity extends AppCompatActivity {
private Toolbar mToolbar;
private TabLayout mTabLayout;
private ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mToolbar=findViewById(R.id.toolbar);
mTabLayout=findViewById(R.id.tabLayout);
mViewPager=findViewById(R.id.viewPager);
setSupportActionBar(mToolbar);
PagerAdpater adpater=new PagerAdpater(getSupportFragmentManager());
adpater.addFragment(new GreetingFragment(),"Greeting");
adpater.addFragment(new NumberFragment(),"Numbers");
adpater.addFragment(new EatingOutFragment(),"Eating Out");
adpater.addFragment(new ColorFragment(),"Colors");
adpater.addFragment(new ClothesFragment(),"Clothes");
adpater.addFragment(new FamilyFragment(),"Family");
mViewPager.setAdapter(adpater);
mTabLayout.setupWithViewPager(mViewPager);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.toolbar_search_menu,menu);
MenuItem menuItem=menu.findItem(R.id.action_search);
SearchView searchView=(SearchView) menuItem.getActionView();
searchView.setQueryHint("Type here to search");
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
return true;
}
});
return true;
}
}
正如您在代码中看到的那样。 toolBar 中的 SeachView 已经设置好了。它显示在操作栏中。但是我想通过从 DataService 类中获取片段的内容来搜索片段的内容。我希望当我点击搜索图标时会出现一个内容列表,我可以过滤它们。
**如果你不明白我的意思,我会编辑我的问题**
【问题讨论】:
标签: java android performance android-studio android-fragments