Я работаю над приложением, и мне нужно, чтобы моя кнопка меню вызывала onClick для каждого из моих фрагментов, но она вызывается только для первого, а не для остальных. Что может быть не так? Это код, который у меня есть на каждом из моих фрагментов в пейджере.
//Initiate Genre Menu
LinearLayout menu = getActivity().findViewById(R.id.genre_menu);
//Initiate GenreMenuSwitches class
GenreMenuSwitches genresOptions = new GenreMenuSwitches(getActivity());
// Make Genre Button open menu on click
ImageView genre_button = (ImageView) getActivity().findViewById(R.id.genre_options);
genre_button.setOnClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.O)
@Override
public void onClick(View v) {
modifiedGames.clear();
menu.setVisibility(View.VISIBLE);
((ViewGroup) getActivity().findViewById(R.id.genre_menu)).getLayoutTransition()
.enableTransitionType(LayoutTransition.CHANGING);
menu.getLayoutParams().height= ViewGroup.LayoutParams.MATCH_PARENT;
menu.getLayoutParams().width= ViewGroup.LayoutParams.MATCH_PARENT;
updateUI(modifiedGames);
}
});
// Set Menu's Confirm Button to hide menu and update UI
Button confirm_button2 = getActivity().findViewById(R.id.menu_reset);
confirm_button2.setOnClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.O)
@Override
public void onClick(View v) {
/*((ViewGroup) getActivity().findViewById(R.id.genre_menu)).getLayoutTransition()
.enableTransitionType(LayoutTransition.CHANGING);
menu.getLayoutParams().height= 100;
menu.getLayoutParams().width= 200;
menu.setVisibility(View.GONE);*/
Log.v("Options Size1", "" + genresOptions.genreChosen.size());
if (genresOptions.genreChosen.size() != 0) {
for (int i = 0; i < games.size(); i++) {
ArrayList<Integer> currentGamesGenre = games.get(i).getGenres();
outer: for (int x = 0; x < currentGamesGenre.size(); x++) {
for (int y = 0; y < genresOptions.genreChosen.size(); y++) {
if (currentGamesGenre.get(x) == genresOptions.genreChosen.get(y) ) {
modifiedGames.add(games.get(i));
break outer;
}
}
}
}
Log.v("Options Size2", "" + genresOptions.genreChosen.size());
Log.v("Modified Size", "" + modifiedGames.size());
updateUI(modifiedGames);
}
}
});