我正在一个项目中,其中MainActivity是唯一具有多个ViewPage片段的Activity,每个Fragment使用实现RecyclerView界面的Filterable自定义适配器显示数据。 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类获取片段的内容来搜索片段的内容。我想当我单击搜索图标时会出现一个内容列表,我可以对其进行过滤。

**如果您不明白我的意思,我会编辑我的问题**

最佳答案

您是否要说的是,当您单击搜索按钮/图标时,想要显示包含搜索结果的页面吗?如果那不是您的意思,请编辑您的问题。

08-06 21:29