如何只允许在线性布局内的无线电组中执行一个radiobtton?

时间:2016-01-08 12:28:17

标签: android android-linearlayout

我正在尝试在线性布局中放置一个带有3个单选按钮的无线电组。我的目标是在RadioGroup中只选择一个RadioButton,但它给了我一个错误,即有多个根标签。有人能弄清楚如何解决这个问题吗?

file.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="ok"

    android:id="@+id/textemail"/>

<RadioGroup
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<RadioButton
    android:id="@+id/one"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="one" />

<RadioButton
    android:id="@+id/two"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="two"
    />

<RadioButton
    android:id="@+id/three"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="three" />

</RadioGroup>

<TextView
    android:id="@+id/textView1"
    android:layout_below="@+id/textemail"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="To:"
     />

<TextView
    android:id="@+id/TextTo"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="khushi"/>


<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Comment:"
     />

<TextView
    android:id="@+id/TextS3"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="your comment"

    />


<TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="email us "
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="top"
    android:inputType="textMultiLine"
    android:lines="10" />

<Button
    android:id="@+id/button"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Send"
    android:textStyle="italic"/>

</LinearLayout>

4 个答案:

答案 0 :(得分:3)

你立即关闭你的无线电组:

<RadioGroup
android:layout_width="match_parent"
android:layout_height="match_parent"/>

这应该是:

<RadioGroup
android:layout_width="match_parent"
android:layout_height="match_parent"> // Note that there is no forward slash at the end

你没有关闭RadioGroup

</RadioButton>&lt; - 这应该是</RadioGroup>

答案 1 :(得分:1)

您的RadioButton(视图)应该是RadioGroup(视图)的子节点。通过使用/&gt;关闭您的RadioGroup您将RadioButton(s)和RadioGroup声明为LinearLayout的子项。

以下应该有效。

   <?xml version="1.0" encoding="utf-8"?>
<Linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="hello"
    android:id="@+id/textview"/>

<RadioGroup
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<RadioButton
    android:id="@+id/one"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="one" />

<RadioButton
    android:id="@+id/two"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="two"
    />

<RadioButton
    android:id="@+id/three"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="three" />
</RadioButton>
</RadioGroup>

<TextView
    android:id="@+id/textViewllol"
    android:layout_below="@+id/textemail"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="hi:"
     />

<TextView
    android:id="@+id/Texme"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text=""
    />


<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="comment:"
    />

<TextView
    android:id="@+id/Text2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="your comments"

    />


<TextView
    android:id="@+id/textView45"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="ok"
     />

<EditText
    android:id="@+id/editTextMessage"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="top"
    android:lines="10" />

<Button
    android:id="@+id/button4785"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="send"
    />

</LinearLayout>

答案 2 :(得分:0)

以下更改 -

<RadioGroup
android:layout_width="match_parent"
android:layout_height="match_parent"/>

<RadioGroup
android:layout_width="match_parent"
android:layout_height="match_parent">

<RadioButton
    android:id="@+id/one"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="one" />

<RadioButton
    android:id="@+id/two"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="two"
    />

<RadioButton
    android:id="@+id/three"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="three" />

</RadioGroup>

您的某个文字格式不正确,请按以下方式更改 -

<TextView
android:id="@+id/textView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ok:"
 />

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ok:"
 />

还有一个错误 -

以下更改 -

<RadioGroup
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<RadioGroup
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

答案 3 :(得分:0)

</Radiobutton>以上</Radiogroup>个标记不应该在这里。只需删除它即可:

<RadioGroup
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<RadioButton
    android:id="@+id/one"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="one" />

<RadioButton
    android:id="@+id/two"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="two"
    />

<RadioButton
    android:id="@+id/three"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="three" />
</RadioGroup>