Отображение другой активности вместо MainActivity

Как можно отобразить другую активность вместо основной, если в настройках, в списке RadioButton отмечен определенный элемент? Например: если вы выбираете A - отображается активность A. Если вы выбираете B - активность B отображается. Если вы выбираете C - активность C отображается.

2 ответа

Решение

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

Попробуйте что-то вроде этого,

radioGroup = (RadioGroup) findViewById(R.id.radioGroup);
        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                // checkedId is the RadioButton selected
                // get selected radio button from radioGroup
                int selectedId = radioGroup.getCheckedRadioButtonId();
                // find the radio button by returned id
                radioButton = (RadioButton) findViewById(selectedId);

                // toggle views on radio button click
                if (radioButton.getText().toString().equals("Activity A") {
                   startActivity(new Intent(CurrentActivity.this, ActivityA.class))
                } 
                else if (radioButton.getText().toString().equals("Activity B")) {
                    startActivity(new Intent(CurrentActivity.this, ActivityB.class))
                } 
                else if (radioButton.getText().toString().equals("Activity C")){
                    startActivity(new Intent(CurrentActivity.this, ActivityC.class))
                }
            }
        });

Вы можете использовать sharedPreferences. Просто сохраните A в sharedPreferences, если выбран первый переключатель, B, если второй, и так далее. При создании намерения вы можете проверить, что хранится в CallingActivity SharedPreference. Если его значение по умолчанию, тогда вызвать main, в противном случае использовать регистр переключения для вызова определенного действия.

SharedPreferences sharedPref = getSharedPreferences("CallingActivity", Context.MODE_PRIVATE);
SharedPreferences.Editor sEditor = sharedPref.edit();
sEditor.putString("ActivityName","A");
sEditor.commit();
Другие вопросы по тегам