Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取所选单选按钮的文本,android?_Android_Radio Button_Tablelayout - Fatal编程技术网

获取所选单选按钮的文本,android?

获取所选单选按钮的文本,android?,android,radio-button,tablelayout,Android,Radio Button,Tablelayout,我以编程方式制作了3X2单选按钮 这是我的桌面布局 public class ToggleButtonGroupTableLayout extends TableLayout implements OnClickListener { private static final String TAG = "ToggleButtonGroupTableLayout"; private RadioButton activeRadioButton; /** * @param cont

我以编程方式制作了3X2单选按钮

这是我的桌面布局

    public class ToggleButtonGroupTableLayout extends TableLayout implements
    OnClickListener {

private static final String TAG = "ToggleButtonGroupTableLayout";
private RadioButton activeRadioButton;

/**
 * @param context
 */
public ToggleButtonGroupTableLayout(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
}

/**
 * @param context
 * @param attrs
 */
public ToggleButtonGroupTableLayout(Context context, AttributeSet attrs) {
    super(context, attrs);
    // TODO Auto-generated constructor stub
}

@Override
public void onClick(View v) {
    final RadioButton rb = (RadioButton) v;
    if (activeRadioButton != null) {
        activeRadioButton.setChecked(false);
    }
    rb.setChecked(true);
    activeRadioButton = rb;

}

/*
 * (non-Javadoc)
 * 
 * @see android.widget.TableLayout#addView(android.view.View, int,
 * android.view.ViewGroup.LayoutParams)
 */
@Override
public void addView(View child, int index,
        android.view.ViewGroup.LayoutParams params) {
    super.addView(child, index, params);
    setChildrenOnClickListener((TableRow) child);
}


/*
 * (non-Javadoc)
 * 
 * @see android.widget.TableLayout#addView(android.view.View,
 * android.view.ViewGroup.LayoutParams)
 */
@Override
public void addView(View child, android.view.ViewGroup.LayoutParams params) {
    super.addView(child, params);
    setChildrenOnClickListener((TableRow) child);
}

private void setChildrenOnClickListener(TableRow tr) {
    final int c = tr.getChildCount();
    for (int i = 0; i < c; i++) {
        final View v = tr.getChildAt(i);
        if (v instanceof RadioButton) {
            v.setOnClickListener(this);
        }
    }
}

public int getCheckedRadioButtonId() {
    if (activeRadioButton != null) {
        return activeRadioButton.getId();
    }

    return -1;
}
 }
我需要做以下两件事

  • 如何查找在主要活动上选择的单选按钮的文本
  • 如何在活动开始时默认选择一个单选按钮,并且该按钮应保持相互排斥

  • 要查找单选按钮的文本,请使用radiobutton.getText()方法
    要使xml中的一个单选按钮在默认情况下处于选中状态,请将该单选按钮的设置为true

    是否尝试将r1.getText()作为单选按钮的文本?设置默认值时使用r1.setChecked(true)如果我使用r1.setChecked(true)它会使它永远处于选中状态,这是不需要的。您说过如何在开始时将其设置为选中状态,所以这就是您的做法it@user2310289我用过,但似乎不起作用
      @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        l = (LinearLayout) findViewById(R.id.mainl);
    
        ToggleButtonGroupTableLayout    t=new ToggleButtonGroupTableLayout(this);
        TableRow r1=new TableRow(this);
        TableRow r2=new TableRow(this);
        TableRow r3=new TableRow(this);
        b1=new RadioButton(this);
        b2=new RadioButton(this);
        b3=new RadioButton(this);
        b4=new RadioButton(this);
        b5=new RadioButton(this);
        b6=new RadioButton(this);
        b7=new RadioButton(this);
        b1.setText("b1");
        b2.setText("b2");
        b3.setText("b3");
        b4.setText("b4");
        b5.setText("b5");
        b6.setText("b6");
        b7.setText("b7");
    
        r1.addView(b1);
        r1.addView(b2);
        r1.addView(b3);
        r2.addView(b4);
        r2.addView(b5);
        r2.addView(b6);
        r3.addView(b7);
        t.addView(r1);
        t.addView(r2);
        t.addView(r3);
        l.addView(t);
                t.setOnClickListener(new OnClickListener() {
    
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                RadioButton rb = (RadioButton) v;
            Log.e("msg   ",     rb.getText().toString());
            Log.e("msg   ",     "clciked");
    
            }
        });
       }