1

私は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 が選択され、その逆も同様です。

私のこの要件を満たすためにこのコードを適応させる方法がわかりません。皆さん、少し手伝っていただけないでしょうか。事前にどうもありがとうございました。

4

2 に答える 2

0

2回ではなく1回のクリックでデータベースを変更する必要がある場合は、2つのラジオボタンを含むラジオグループを使用し、チェックされたラジオボタンの変更をリッスンできます。次に、onCheckedChange() で適切なデータベースをロードします。

于 2013-04-30T10:06:25.067 に答える
0

「Switch」を使ってみませんか?目的を解決してくれると思います。リンクを見てください [こちら:][1]

[1]: http://developer.android.com/reference/android/widget/Switch.html または、トグル ボタンを使用することもできます。それが役に立てば幸い。

于 2013-04-30T10:17:49.800 に答える