Сортировка в DialogFragment
Есть RecyclerView, мне нужно чтобы по нажатию кнопки открывался DialogFragment, в котором будет список возможных видов сортировки, по выбору применялся выбранный вид сортировки.
Сделал DialogFragment добавил туда RadioGroup в коде прописал чтобы сортировалось по нажатию но оно не работает. Помогите исправить ошибку.
DialogFragment
public class DialogSort extends DialogFragment {
RadioGroup rg;
RadioButton rb1, rb2, rb3;
private String[] mArrayNames = new String[]{"Виражи", "Вокруг света", "Интерактивный 5D кинотеатр", "Кокосовый страйк", "Компас"};
public AttractionsAdapter adapter;
private ArrayList<AttractionsItem> exampleList;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.dialog_sort, container, false);
rg = view.findViewById(R.id.RG);
rb1 = view.findViewById(R.id.RB_1);
rb2 = view.findViewById(R.id.RB_2);
rb3 = view.findViewById(R.id.RB_3);
rb1.setOnClickListener(v -> {
int checkedId = rg.getCheckedRadioButtonId();
if (checkedId == -1) {
sortArray_alphabet();
sortArrayList_alphabet();
}
});
rb2.setOnClickListener(v -> {
int checkedId = rg.getCheckedRadioButtonId();
if (checkedId == -1) {
sortArray_type();
sortArrayList_type();
}
});
rb3.setOnClickListener(v -> {
int checkedId = rg.getCheckedRadioButtonId();
if (checkedId == -1) {
sortArray_cost();
sortArrayList_cost();
}
});
return view;
}
private void sortArray_alphabet() {
Arrays.sort(mArrayNames);
adapter.notifyDataSetChanged();
}
private void sortArrayList_alphabet() {
Collections.sort(exampleList, (o1, o2) -> o1.get_attraction_name().compareTo(o2.get_attraction_name()));
adapter.notifyDataSetChanged();
}
private void sortArray_type() {
Arrays.sort(mArrayNames);
adapter.notifyDataSetChanged();
}
private void sortArrayList_type() {
Collections.sort(exampleList, (o1, o2) -> o1.get_attraction_type().compareTo(o2.get_attraction_type()));
adapter.notifyDataSetChanged();
}
private void sortArray_cost() {
Arrays.sort(mArrayNames);
adapter.notifyDataSetChanged();
}
private void sortArrayList_cost() {
Collections.sort(exampleList, (o1, o2) -> o1.get_attraction_cost().compareTo(o2.get_attraction_cost()));
adapter.notifyDataSetChanged();
}
}