7

性別、男性、女性、その他を指定する 3 つのラジオ ボタンがあります。このデータを、ユーザーの選択に基づいて、男性用に 1、女性用に 2、その他用に 3 として DB に保存します。これはプロファイル ページに反映されます。プロファイルを編集するときに、プロファイル ページのすべてのフィールドを編集可能な方法で自動入力したい場合、ユーザーは必要なフィールドのみを変更します。データベースから性別の 1,2,3 の値を取得することはできますが、指定されたラジオ ボタンをオンに設定することはできません。私は次のことを試しました:

String M = (c.getString(c.getColumnIndexOrThrow("Gender")));
RadioGroup rb1 = (RadioGroup)findViewById(R.id.radiogroup1);

if(M.equals(1)){
    rb1.check(R.id.radiobutton3);
    RadioButton rbu1 =(RadioButton)findViewById(R.id.radiobutton3);
    rbu1.setChecked(true);
}
else if(M.equals(2)){
    rb1.check(R.id.radiobutton4);
    RadioButton rbu2 =(RadioButton)findViewById(R.id.radiobutton4);
    rbu2.setChecked(true);
}
else if(M.equals(3)){
    rb1.check(R.id.radiobutton5);
    RadioButton rbu3 =(RadioButton)findViewById(R.id.radiobutton5);
    rbu3.setChecked(true);
}
4

3 に答える 3

14

どちらでも使用できますradioButton.setChecked(true)。またはradiobutton.setSelected(true);

rb1 を指定しないでください。コードでは、rb1 は RadioGroup を参照し、ラジオ ボタンの名前を設定します。

String M = "3";
RadioGroup rb1 = (RadioGroup)findViewById(R.id.radioGroup1);
RadioButton rbu1 =(RadioButton)findViewById(R.id.radio0);
RadioButton rbu2 =(RadioButton)findViewById(R.id.radio1);
RadioButton rbu3 =(RadioButton)findViewById(R.id.radio2);

if(M.equalsIgnoreCase("1"))
{
    rbu1.setChecked(true);
}
else if(M.equalsIgnoreCase("2")){

    rbu2.setChecked(true);
}
else if(M.equalsIgnoreCase("3"))
{    
    rbu3.setChecked(true);
}
于 2012-10-11T04:59:59.903 に答える
2

セットチェック用です。

radioButton.setChecked(true);

これは、チェックされたラジオボタンの値を取得するためのものです

RadioGroup rg=(RadioGroup) findViewById(R.id.radioGroup1);

rg.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(RadioGroup arg0, int id)
{
RadioButton checkedRadioButton = (RadioButton)rg.findViewById(id);

boolean isChecked = checkedRadioButton.isChecked();

if (isChecked)
{
Toast.makeText(getApplicationContext(), 
           checkedRadioButton.getText(),Toast.LENGTH_LONG).show();
}
}});
于 2012-10-11T05:10:11.060 に答える
1

このコードを試してください:

radioButton.setChecked(true);

radioSexGroup = (RadioGroup) findViewById(R.id.radioSex);
int selectedId = radioSexGroup.getCheckedRadioButtonId();
rb = (RadioButton) findViewById(selectedId);
sex = rb.getText().toString().trim();
于 2012-10-11T05:01:46.357 に答える