Android——基本控件之单选钮:RadioGroup(七)

1.知识点

(1)掌握RadioGroup类和RadioButton类的使用。

2.具体内容

在html中,使用单选钮是怎么做的呢?

<html>
	<body>
		<input type="radio" name="init" vlaue="boy">男
		<input type="radio" name="init" vlaue="girl">女
	</body>
</html>

以上是html中的单选钮的写法。那么我们在Android中怎么完成单选钮呢?

在Android中,单选钮组件是RadioButton,所有的RadioButton都必须放在RadioGroup中。表示此RadioGroup中所有的单选钮只能选择一个。

 发现RadioGroup是LinearLayout的子类,那么我们之前在LinearLayout中的所有的定义都可以放在RadioGroup中。

 

 

通过继承关系可以发现,RadioButton是一个特殊的按钮组件。

范例:选择性别:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:id="@+id/getSex"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="请选择性别:" />
    <RadioGroup
        android:layout_width="match_parent"
    	android:layout_height="match_parent"
		android:orientation="vertical"    
        >
        <!-- 这里就是放置RadioButton -->
        <RadioButton 
            android:checked="true"—默认选中
            android:id="@+id/boy"
            android:text="男"
            />
        <RadioButton 
            android:id="@+id/girl"
            android:text="女"
            />
    </RadioGroup>
</LinearLayout>

现在的内容是垂直码放的,当然也可以水平码放。

<RadioGroup
        android:layout_width="match_parent"
    	android:layout_height="match_parent"
		android:orientation="horizontal"    --设置水平码放
        >
        <!-- 这里就是放置RadioButton -->
        <RadioButton 
            android:checked="true"
            android:id="@+id/boy"
            android:text="男"
            />
        <RadioButton 
            android:id="@+id/girl"
            android:text="女"
            />
    </RadioGroup>

现在程序只是进行了简单的显示设置而已,如果说想要能够让这些组件有更多的意义的话,则需要结合到日后学的事件的处理。

3.小结

(1)掌握RadioGroup类相当于定义了一个单选钮的容器;

(2)RadioButton类用于定义单选钮中的内容。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在ListView中将RadioGroup的两个RadioButton单独分为两行显示,可以通过自定义ListView的Adapter来实现。以下是一种实现方法: 1. 自定义一个Adapter,继承自BaseAdapter。 2. 在getView()方法中,使用LayoutInflater加载布局文件,并找到RadioGroup和两个RadioButton。 3. 设置第一个RadioButton为选中状态,第二个RadioButton为未选中状态。 4. 将第一个RadioButton添加到RadioGroup中,并将RadioGroup添加到ListView的item布局中的第一个位置。 5. 将第二个RadioButton添加到ListView的item布局中的第二个位置。 6. 在getView()方法中,返回item布局。 示例代码如下: ``` public class MyAdapter extends BaseAdapter { private Context mContext; private LayoutInflater mInflater; public MyAdapter(Context context) { mContext = context; mInflater = LayoutInflater.from(mContext); } @Override public int getCount() { return 10; // 假设有10个item } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { convertView = mInflater.inflate(R.layout.list_item, parent, false); holder = new ViewHolder(); holder.radioGroup = convertView.findViewById(R.id.radio_group); holder.radioButton1 = convertView.findViewById(R.id.radio_button1); holder.radioButton2 = convertView.findViewById(R.id.radio_button2); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } // 初始化RadioButton状态 holder.radioButton1.setChecked(true); holder.radioButton2.setChecked(false); // 将第一个RadioButton添加到RadioGroup中 holder.radioGroup.addView(holder.radioButton1); // 将RadioGroup添加到item布局中的第一个位置 ((LinearLayout) convertView).addView(holder.radioGroup, 0); // 将第二个RadioButton添加到item布局中的第二个位置 ((LinearLayout) convertView).addView(holder.radioButton2, 1); return convertView; } private static class ViewHolder { RadioGroup radioGroup; RadioButton radioButton1; RadioButton radioButton2; } } ``` 在上面的代码示例中,假设ListView的item布局文件为list_item.xml,其中包含一个RadioGroup和两个RadioButton。在Adapter的getView()方法中,我们首先找到RadioGroup和两个RadioButton,并将第一个RadioButton设为选中状态,第二个RadioButton设为未选中状态。然后将第一个RadioButton添加到RadioGroup中,将RadioGroup添加到ListView的item布局中的第一个位置,将第二个RadioButton添加到ListView的item布局中的第二个位置。最后返回item布局即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毛栗子201105

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值