У меня одно активити и несколько фрагментов, у всех фрагментах тот же тулбар что и в активвити. Как поменять ?
В фрагменьте :
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_log, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
return false;
}
в активити :
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.search_menu, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setOnQueryTextListener(searchQueryListener);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.logout:
fragmentManager.beginTransaction().add(R.id.container, bFrag).commit();
wallcome.setVisibility(View.INVISIBLE);
mRecyclerView.setVisibility(View.INVISIBLE);
fab.setVisibility(View.INVISIBLE);
return true;
default:
break;
}
Как я понял, вы хотите изменить меню в тулбаре, тогда можно воспользоваться функцией invalidateOptionsMenu(), которая позволяет обновить вид меню. Сделайте какую-нибудь переменную boolean CHECK = false, значение которой изменяется на true, когда вы нажали на логаут, и тогда функция onCreateOptionsMenu будет выглядеть примерно так:
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.ваше_меню, menu);
MenuItem Item1 = menu.findItem(R.id.какой-то_итем1_в_вашем_меню);
MenuItem Item2 = menu.findItem(R.id.какой-то_итем2_в_вашем_меню);
if (!CHECK){
//логаут ещё не нажат, вид меню начальный
}else{
//на логаут нажали, скрыть нужную кнопку в меню или т.п.
}
return super.onCreateOptionsMenu(menu);
}
Когда нажали на логаут, у вас, например запускается код вызова фрагмента, и после этого кода добавьте вызов функции invalidateOptionsMenu();
Виртуальный выделенный сервер (VDS) становится отличным выбором
Столкнулся с такой проблемой: есть иконка в XML, при тестирования она маленькая на устройстве(имеется виду размер иконки) при увеличении выходит...
Мой вопрос покажется не корректным (но придумать заголовок не получилось получше) Вот что мне нужно сделать: Вводить с клавиатуры числа и считать...