Отображение другой активности вместо 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();