I need to implement SearchView in ToolBar. I tried to do that.In MainActivity it shows the searching text in Log.e.But I need to send this searching query to Fragment from an Activity.I am using 3 tab fragments. From where I need to pass search query to Fragment
Here is my code..
MainActivity:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setSubmitButtonEnabled(false);
// searchView.getOutlineProvider();
searchView.setOnQueryTextListener(this);
searchView.setOnCloseListener(this);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_search:
break;
case R.id.action_addCart:
break;
}
return super.onOptionsItemSelected(item);
}
@Override
public boolean onClose() {
passQuery = "";
System.out.println("Restaurant close");
return true;
}
@Override
public boolean onQueryTextSubmit(String query) {
passQuery = query;
System.out.println("Restaurant onQueryTextSubmit =" + query);
return true;
}
@Override
public boolean onSearchRequested() {
Bundle appData = new Bundle();
appData.putBoolean(SEARCHING_DATA, true);
startSearch(null, false, appData, true);
System.out.println("Restaurant onSearchRequested = " + appData);
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
passQuery = newText;
System.out.println("Restaurant onQueryTextSubmit =" + newText);
return true;
}
ViewPageradapter:
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFrag(new TabFragment_1(), "WHAT'S HOT!");
adapter.addFrag(new TabFragment_2(), "PIZZAS");
adapter.addFrag(new TabFragment_3(), "ICE CREAMS");
viewPager.setAdapter(adapter);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
Please Help me to pass search query through this viewPager in android