Выбор базы данных с помощью переключателей
Я учу себя писать приложение для 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() вы загружаете нужную базу данных.