Выбор базы данных с помощью переключателей

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

public void manageDB()
{       
    setContentView(R.layout.dbmanager);     
    ScrollView ll = (ScrollView) findViewById(R.id.lstDb);
    final RadioGroup rg = new RadioGroup(this);
    rg.setLayoutParams(new RadioGroup.LayoutParams(RadioGroup.LayoutParams.FILL_PARENT, RadioGroup.LayoutParams.WRAP_CONTENT));
    rg.setOrientation(RadioGroup.VERTICAL);     
    for (int i=0; i < mDBList.items.size(); i++)
    {            
        RadioButton rb = new RadioButton(this);
        rb.setId(VIEW_RADIO_ID + i);
        rb.setText(mDBList.items.get(i).dictionaryName);
        rb.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));            
        rg.addView(rb,i);
        if (mDBFile != null && mDBFile.fileName.equals(mDBList.items.get(i).fileName))
        {
            rg.check(VIEW_RADIO_ID + i);
        }            
    }
    ll.addView(rg);

    Button btnOk = (Button) findViewById(R.id.btnOk);
    btnOk.setOnClickListener(new OnClickListener()
    {
        public void onClick(View v)
        {
            setContentView(R.layout.main);
            int selectedIndex = rg.getCheckedRadioButtonId();  
            if (selectedIndex < 0)
            {
                selectedIndex = 0;
            }               
            mDBFile = mDBList.items.get(selectedIndex - VIEW_RADIO_ID);             
            savePreferences();
            setContentView(R.layout.main);
            menuMain();
        }
    });     
  }

С помощью этого кода я могу нажать переключатель, чтобы выбрать базу данных, и нажать кнопку ОК, чтобы подтвердить выбор и вернуться к главному экрану. Теперь я хочу назначить кнопку на главном экране для выполнения этой задачи, чтобы мне не пришлось покидать главный экран при выборе базы данных.

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

Я понятия не имею, как адаптировать этот код для удовлетворения моих требований. Интересно, вы, ребята, можете мне немного помочь? Заранее большое спасибо.

2 ответа

Почему бы вам не использовать "Switch", я думаю, это решит вашу цель. Посмотрите на ссылку [здесь:] [1]

[1]: http://developer.android.com/reference/android/widget/Switch.html Или вы также можете использовать кнопки переключения. Надеюсь, поможет.

Если вам нужно изменить базу данных одним щелчком мыши вместо двух, вы можете использовать радиогруппу, содержащую ваши 2 радиокнопки, и прослушать проверенные изменения радиокнопок. Затем в onCheckedChange() вы загружаете нужную базу данных.

Другие вопросы по тегам