Сортировочный RadioGroup в Dilogs
Нужно что бы по нажатию на кнопку открывалось Dialogs, в нём будет RadioGroup с 3мя RadioBatton, по нажатию на которые будет выбираться вид сортировки в RecyclerView. У меня получилось сделать так чтобы по нажатию на кнопку открывался Dialogs, в нём я разместил RadioGroup с 3мя RadioBatton, но по нажатию на них сортировка не происходит, а после повторного открытия меню индикатор снова горит на 1й RadioBatton, помогите исправить ошибку.
Диалоговое меню которое открывается по нажатию на кнопку
public class DialogSort extends DialogFragment {
RadioGroup rg;
RadioButton rb1, rb2, rb3;
private String[] mArrayNames = new String[]{"Виражи", "Вокруг света", "Интерактивный 5D кинотеатр", "Кокосовый страйк", "Компас"};
private 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.getTxt_1().compareTo(o2.getTxt_1()));
adapter.notifyDataSetChanged();
}
private void sortArray_type() {
Arrays.sort(mArrayNames);
adapter.notifyDataSetChanged();
}
private void sortArrayList_type() {
Collections.sort(exampleList, (o1, o2) -> o1.getTxt_2().compareTo(o2.getTxt_2()));
adapter.notifyDataSetChanged();
}
private void sortArray_cost() {
Arrays.sort(mArrayNames);
adapter.notifyDataSetChanged();
}
private void sortArrayList_cost() {
Collections.sort(exampleList, (o1, o2) -> o1.getTxt_3().compareTo(o2.getTxt_3()));
adapter.notifyDataSetChanged();
}
private void findRadioButton(int checkedId) {
switch (checkedId) {
case R.id.RB_1:
sortArray_alphabet();
sortArrayList_alphabet();
break;
case R.id.RB_2:
sortArray_type();
sortArrayList_type();
break;
case R.id.RB_3:
sortArray_cost();
sortArrayList_cost();
break;
}
}