0
正如标题所说,我有一个BottomNavigationView
3菜单项,并希望分配一个长按听众给他们每个人。
我在BottoNavigationView
上设置了OnNavigationItemSelectedListener
。
我已经试过这个答案 here 但是这并没有为我工作了...
你们推荐任何其他方式?
这是我......一般点击BTW工作
如何在BottomNavigationView的物品上设置长时间点击侦听器?
private void setUpNavigationListeners() {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(R.id.fragment_container, new CalendarView()).commit();
navigation.setOnNavigationItemSelectedListener(
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment fragment;
switch (item.getItemId()) {
case R.id.navigation_courses:
subtitle.setText(R.string.courses);
fragment = new CalendarView();
break;
case R.id.navigation_assignments:
subtitle.setText(R.string.assignments);
fragment = new AssignmentView();
break;
case R.id.navigation_professors:
subtitle.setText(R.string.professors);
return false;
default:
return false;
}
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.replace(R.id.fragment_container, fragment).commit();
return true;
}
});
navigation.setItemIconTintList(null);
Menu menu = navigation.getMenu();
MenuItem courses = menu.findItem(R.id.navigation_courses);
MenuItem assignments = menu.findItem(R.id.navigation_assignments);
MenuItem prof = menu.findItem(R.id.navigation_professors);
courses.setActionView(new ImageButton(this));
courses.getActionView().setLongClickable(true);
Log.d("Manage", "Is long clickable:" + courses.getActionView().isLongClickable());
courses.getActionView().setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Log.d("Manage", "Long clicked");
return true;
}
});
}
这并没有为我工作。我发布了添加监听器的代码片段。谢谢你的帮助。 – Pants