【问题标题】:Radio buttons in android studioandroid studio 中的单选按钮
【发布时间】:2015-03-03 07:46:00
【问题描述】:

我想要单选按钮列表,在我选择一个并单击下一步后,我想根据按下的按钮执行不同的操作。我目前正在尝试为一些测试 TextView 和每个单选按钮设置文本,它说它是 -1。

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.RadioButton;
import android.*;
import android.widget.RadioGroup;
import android.widget.TextView;

public class Polynomials extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        final View polyView = inflater.inflate(R.layout.fragment_poly, container, false);

        //layout
        RadioGroup rbg = (RadioGroup) polyView.findViewById(R.id.rBGPoly);
        Button next = (Button) polyView.findViewById(R.id.polyButton);
        final TextView test = (TextView) polyView.findViewById(R.id.jdtTest);
        final RadioButton but1 = (RadioButton) polyView.findViewById(R.id.radioButton1);
        RadioButton but2 = (RadioButton) polyView.findViewById(R.id.radioButton2);
        RadioButton but3 = (RadioButton) polyView.findViewById(R.id.radioButton3);
        RadioButton but4 = (RadioButton) polyView.findViewById(R.id.radioButton4);
        RadioButton but5 = (RadioButton) polyView.findViewById(R.id.radioButton5);
        RadioButton but6 = (RadioButton) polyView.findViewById(R.id.radioButton6);
        RadioButton but7 = (RadioButton) polyView.findViewById(R.id.radioButton7);






        RadioGroup g = (RadioGroup)polyView.findViewById(R.id.rBGPoly);


        final int selected = g.getCheckedRadioButtonId();



        next.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

test.setText(""+selected);

            }
        });










        return polyView;
    }



}

这是我的 xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/jdttae"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    android:orientation="vertical" >

    <TextView
        android:id="@+id/jdtchoose"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="31dp"
        android:text="How many terms?"
        android:textSize="18sp" />

    <RadioGroup android:id="@+id/rBGPoly"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <RadioButton
            android:id="@+id/radioButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="90dp"
            android:layout_marginLeft="180dp"
            android:text="1"
            android:layout_below="@+id/jdtchoose"
            android:layout_alignLeft="@+id/jdtchoose"

           />/>

        <RadioButton
            android:id="@+id/radioButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="2"
            android:layout_marginLeft="180dp"
            android:layout_marginTop="31dp"
            android:layout_below="@+id/radioButton1"
            android:layout_alignLeft="@+id/radioButton1"
           />/>

        <RadioButton
            android:id="@+id/radioButton3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="3"
            android:layout_marginLeft="180dp"
            android:layout_marginTop="31dp"
            android:layout_below="@+id/radioButton2"
            android:layout_alignLeft="@+id/radioButton2"
            />/>

        <RadioButton
            android:id="@+id/radioButton4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="31dp"
            android:layout_marginLeft="180dp"
            android:text="4"
            android:layout_below="@+id/radioButton3"
            android:layout_alignLeft="@+id/radioButton3"
            />/>


        <RadioButton
        android:id="@+id/radioButton5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="31dp"
            android:layout_marginLeft="180dp"
        android:text="5"
        android:layout_below="@+id/radioButton4"
        android:layout_alignLeft="@+id/radioButton4"
        />/>







    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="6"
        android:layout_marginLeft="180dp"
        android:id="@+id/radioButton6"
        android:layout_below="@+id/radioButton5"
        android:layout_alignLeft="@+id/radioButton5"
        android:layout_marginTop="31dp"
        />/>

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="7"
        android:layout_marginLeft="180dp"
        android:id="@+id/radioButton7"
        android:layout_below="@+id/radioButton6"
        android:layout_alignParentBottom="false"
        android:layout_alignLeft="@+id/radioButton6"
        android:layout_marginTop="31dp"
        android:checked="false"
        />/>

   </RadioGroup>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Next"
        android:id="@+id/polyButton"
        android:layout_alignParentBottom="true"
        android:layout_alignLeft="@+id/jdtchoose"
        android:layout_marginBottom="26dp"
        android:layout_alignRight="@+id/jdtchoose" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Test"
        android:id="@+id/jdtTest"
        android:editable="false"
        android:textSize="18sp"
        android:layout_alignBaseline="@+id/polyButton"
        android:layout_alignBottom="@+id/polyButton"
        android:layout_toLeftOf="@+id/polyButton"
        android:layout_marginRight="47dp" />

</RelativeLayout>

【问题讨论】:

    标签: android radio-button


    【解决方案1】:

    在下一个按钮单击时调用 g.getCheckedRadioButtonId,该按钮返回 RadioGroup 中当前选定的 rado 按钮 ID:

                public void onClick(View v) {
                 int selected = g.getCheckedRadioButtonId();
    
                 test.setText(String.valueof(selected));
    
                }
    

    【讨论】:

    • g.getCheckedRadioButtonId() 应该是rbg.getCheckedRadioButtonId()
    • @petey : OP 也在使用g 看到int selected = g.getCheckedRadioButtonId(); 行之前的问题
    • 它正在工作,谢谢你我在这个上花了太多时间。
    • @ρяσѕρєяK 是的,没错。他那里有两个相同的 finviewbyids
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-28
    • 2020-06-11
    • 1970-01-01
    • 2020-09-02
    相关资源
    最近更新 更多