私は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();
}
});
}
このコードでは、ラジオ ボタンをクリックしてデータベースを選択し、[OK] ボタンをクリックして確定し、メイン画面に戻ることができます。ここで、データベースを選択するときにメイン画面を離れる必要がないように、メイン画面にこのタスクを実行するためのボタンを割り当てたいと考えています。
私は 2 つのデータベースを持っているので、理想的には、このタスクを実行する双方向ボタンが必要です。ボタンをクリックすると、db_1 が選択されます。ボタンをもう一度クリックすると、db_2 が選択され、その逆も同様です。
私のこの要件を満たすためにこのコードを適応させる方法がわかりません。皆さん、少し手伝っていただけないでしょうか。事前にどうもありがとうございました。