Сортировка в 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();
    }
}

Ответы (0 шт):