@@ -48,7 +48,17 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
4848 binding .optionSecond .radioButton .setId (View .generateViewId ());
4949 binding .optionThird .radioButton .setId (View .generateViewId ());
5050
51- selectOption (0 );
51+ String [] values = getResources ().getStringArray (R .array .preference_default_tab_values );
52+ String savedValue = viewModel .getDefaultTab ();
53+ int selectedIndex = 0 ;
54+ for (int i = 0 ; i < values .length ; i ++) {
55+ if (values [i ].equals (savedValue )) {
56+ selectedIndex = i ;
57+ break ;
58+ }
59+ }
60+
61+ selectOption (selectedIndex );
5262
5363 binding .cardFirst .setOnClickListener (v -> selectOption (0 ));
5464 binding .cardSecond .setOnClickListener (v -> selectOption (1 ));
@@ -63,17 +73,23 @@ private void selectOption(int index) {
6373 binding .optionFirst .radioButton .setChecked (index == 0 );
6474 binding .optionSecond .radioButton .setChecked (index == 1 );
6575 binding .optionThird .radioButton .setChecked (index == 2 );
76+
77+ if (viewModel != null ) {
78+ String [] values = getResources ().getStringArray (R .array .preference_default_tab_values );
79+ if (index >= 0 && index < values .length ) {
80+ viewModel .setDefaultTab (values [index ]);
81+ }
82+ }
6683 }
6784
6885 public void saveSelection () {
69- String [] values = getResources ().getStringArray (R .array .preference_default_tab_values );
70- String value = values [0 ];
7186 if (binding .optionSecond .radioButton .isChecked ()) {
72- value = values [ 1 ] ;
87+ selectOption ( 1 ) ;
7388 } else if (binding .optionThird .radioButton .isChecked ()) {
74- value = values [2 ];
89+ selectOption (2 );
90+ } else {
91+ selectOption (0 );
7592 }
76- viewModel .setDefaultTab (value );
7793 }
7894
7995 @ Override
0 commit comments