Отражение изменения общего предпочтения на переключателе - PullRequest
0 голосов
/ 16 марта 2020

Я знаю, что есть много вопросов, задаваемых по этой теме c, однако я не могу понять, что мне нужно делать.

Это действие, которое отображает переключатель в обычном режиме xml RadioButton в RadioGroup.


public class MenuAboutMeActivity extends AppCompatActivity {

    RadioGroup radioGroup;
    RadioButton radioButton;
    RadioButton sighted;
    RadioButton visionImpaired;
    String sigh;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu_about_me);

        radioGroup = findViewById(R.id.menuSightRadioGroup);
        SharedPreferences sharedPreferences = getSharedPreferences(SHARED_PREFS, Context.MODE_PRIVATE);

        sighted = findViewById(R.id.sightedmenubutton);
        visionImpaired = findViewById(R.id.visionImpairedButton);

        sigh = sharedPreferences.getString(kSightSetting, "");

        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                int radioId = radioGroup.getCheckedRadioButtonId();
                radioButton = findViewById(radioId);
                String str = (String) radioButton.getText();
                SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences(SHARED_PREFS, Context.MODE_PRIVATE);
                SharedPreferences.Editor editor = sharedPreferences.edit();
                editor.putString(kSightSetting, str).apply();

            }
        });

    }


    @Override
    protected void onStart() {
        super.onStart();
        refeshUi();

    }


    private void refeshUi() {
        runOnUiThread(new Runnable() {
            public void run() {
                if (sigh == "Sighted") {
                    radioGroup.check(R.id.sightedButton);
                    }
                else {
                    radioGroup.check(R.id.visionImpairedButton);
                }
            }
        });
    }
}

Почему возврат общего предпочтения и использование его для установки переключателя не работает?

Добавлен фрагмент макета XML для группы радиосвязи

        <RadioGroup
            android:id="@+id/menuSightedRadioGroup"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingLeft="20dp"
            android:layout_weight="1"
            android:background="@color/design_default_color_background"
            >
            <RadioButton
                android:id="@+id/sightedmenubutton"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@color/design_default_color_background"
                android:gravity="start|center_vertical"
                android:text="@string/sighted_about_me_button"
                android:textColor="@color/colorPrimary"
                android:textSize="18sp"
                app:backgroundTint="@color/cardview_light_background"
                app:icon="@drawable/mainmenulock"
                app:iconGravity="start"
                app:iconTint="@color/colorPrimary"
                app:layout_constraintBottom_toTopOf="@+id/menudivider3" />
            <RadioButton
                android:id="@+id/visionImpairedButton"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@color/design_default_color_background"
                android:gravity="start|center_vertical"
                android:text="@string/vision_impaired_about_me_button"
                android:textColor="@color/colorPrimary"
                android:textSize="18sp"
                app:backgroundTint="@color/cardview_light_background"
                app:icon="@drawable/mainmenushield"
                app:iconGravity="start"
                app:iconTint="@color/colorPrimary"
                app:layout_constraintBottom_toTopOf="@+id/menudivider4" />
    </RadioGroup>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...