使用单选按钮选择数据库

时间:2013-04-30 09:46:25

标签: java android android-spinner

我正在教自己写一个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 个答案:

答案 0 :(得分:0)

如果您需要一次点击而不是两次更改数据库,则可以使用包含2个radiobuttons and listen for checked radiobutton change的放射性组。 然后在onCheckedChange()中加载正确的数据库。

答案 1 :(得分:0)

为什么不使用“Switch”我认为它会解决你的目的。看看链接[here:] [1]

[1]:http://developer.android.com/reference/android/widget/Switch.html或者您也可以使用切换按钮。希望它有所帮助。