Android UI控件系列:RadioButton(单选按钮)

黄舟
发布: 2017-01-19 09:13:37
原创
2323人浏览过

单选按钮radiobutton在android平台上也应用的非常多,比如一些选择项的时候,会用到单选按钮,实现单选按钮由两部分组成,也就是radiobutton和radiogroup配合使用。

radiobutton的单选按钮;

radiogroup是单选组合框,用于将radiobutton框起来;

在没有radiogroup的情况下,radiobutton可以全部都选中;

当多个radiobutton被radiogroup包含的情况下,radiobutton只可以选择一个;

注意:单选按钮的事件监听用setoncheckedchangelistener来对单选按钮进行监听

例子:

一道选择题,选择哪个城市美女最多,当然,这个就是为了测试

radiotest.java

package org.loulijun.radio;

import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;

public class RadioTest extends Activity {
    /** Called when the activity is first created. */
        TextView textview;
        RadioGroup radiogroup;
        RadioButton radio1,radio2,radio3,radio4;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        textview=(TextView)findViewById(R.id.textview1);
        radiogroup=(RadioGroup)findViewById(R.id.radiogroup1);
        radio1=(RadioButton)findViewById(R.id.radiobutton1);
        radio2=(RadioButton)findViewById(R.id.radiobutton2);
        radio3=(RadioButton)findViewById(R.id.radiobutton3);
        radio4=(RadioButton)findViewById(R.id.radiobutton4);

        radiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

                        @Override
                        public void onCheckedChanged(RadioGroup group, int checkedId) {
                                // TODO Auto-generated method stub
                                if(checkedId==radio2.getId())
                                {
                                        DisplayToast("正确答案:"+radio2.getText()+",恭喜你,回答正确!");
                                }else
                                {
                                        DisplayToast("请注意,回答错误!");
                                }
                        }
                });
    }
    public void DisplayToast(String str)
    {
            Toast toast=Toast.makeText(this, str, Toast.LENGTH_LONG);
            toast.setGravity(Gravity.TOP,0,220);
            toast.show();
    }
}
登录后复制

strings.xml文件

<?xml version="1.0" encoding="utf-8"?>  
<resources>  
    <string name="hello">哪个城市美女多?</string>  
    <string name="app_name">单选按钮测试</string>  
    <string name="radiobutton1">杭州</string>  
    <string name="radiobutton2">成都</string>  
    <string name="radiobutton3">重庆</string>  
    <string name="radiobutton4">苏州</string>  
</resources>
登录后复制

main.xml文件:注意,这里面,4个RadioButton包含在RadioGroup中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    android:id="@+id/textview1"
    />
    <RadioGroup
            android:id="@+id/radiogroup1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_x="3px"
    >
            <RadioButton
                    android:id="@+id/radiobutton1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/radiobutton1"
            />
            <RadioButton
                    android:id="@+id/radiobutton2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/radiobutton2"
            />
            <RadioButton
                    android:id="@+id/radiobutton3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/radiobutton3"
            />
            <RadioButton
                    android:id="@+id/radiobutton4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/radiobutton4"
            />
    </RadioGroup>
</LinearLayout>
登录后复制

运行结果如下:

363.gif

假如我们选择杭州,会提示错误的Toast

364.gif

序列猴子开放平台
序列猴子开放平台

具有长序列、多模态、单模型、大数据等特点的超大规模语言模型

序列猴子开放平台 0
查看详情 序列猴子开放平台

再次选中成都后,会提示答案正确

365.gif

这里就可以看到,单选按钮的使用效果,如果只是使用RadioButton的话,把配置文件中RadioGroup去掉,当然,要重新为每个单选按钮设置监听,这样,这个RadioButton就跟Button没有什么区别了,我们可以选中多个,所以要注意,单选按钮要和RadioGroup一起使用,才能够实现单选的功能。

以上就是Android UI控件系列:RadioButton(单选按钮)的内容,更多相关内容请关注PHP中文网(www.php.cn)!


相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号