#java #android #android-studio
#ява #Android #android-studio #java
Вопрос:
Код , содержащий ошибку, является:
public class HomeActivity extends AppCompatActivity {
BottomNavigationView bottomNavigation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
bottomNavigation = (BottomNavigationView) findViewById(R.id.bottomNavigation);
bottomNavigation.setOnNavigationItemReselectedListener(navigation);
}
private BottomNavigationView.OnNavigationItemReselectedListener navigation =
new BottomNavigationView.OnNavigationItemReselectedListener() {
@Override
public boolean onNavigationItemReselected(@NonNull MenuItem item) {
switch (item.getItemId())
{
case R.id.home:
Toast.makeText(HomeActivity.this, "HOME", Toast.LENGTH_SHORT).show();
break;
case R.id.category:
Toast.makeText(HomeActivity.this, "CATEGORY", Toast.LENGTH_SHORT).show();
break;
}
return true;
}
};
}
Ошибку можно увидеть на этом скриншоте.
Код показывает всплывающее окно с текстом, соответствующим выбранному виду.
Комментарии:
1.
onNavigationItemReselected
возвращает void неboolean
Ответ №1:
Вы используете OnNavigationItemReselectedListener
прослушиватель. Метод onNavigationItemReselected
должен возвращать void
вместо boolean
.
Может быть, вы ищете BottomNavigationView.OnNavigationItemSelectedListener
слушателя.
Комментарии:
1. да, я меняю «повторно выбрано» на «выбрано», и это работает …. хахаха … большое спасибо
Ответ №2:
Сначала проверьте свой идентификатор категории в файле меню. Содержит его или нет
Комментарии:
1. Да, это есть в моих меню
2. Хорошо, пожалуйста, попробуйте изменить идентификатор, подобный category, на category_id