Android中怎么利用RadioButton控件实现多选一功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
1、将多个RadioButton放在一个RadioGroup里面
<RadioGroup android:id="@+id/radioGroup1" android:layout_width="match_parent" android:layout_height="wrap_content" > <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男" android:textColor="#FFFFFF" /> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女" android:textColor="#FFFFFF" /> </RadioGroup>
2、在RadioGroup里面取出每个RadioButton
public void onClick(View v) { // TODO Auto-generated method stub int len = radioGroup1.getChildCount(); for (int i = 0; i < len; i++) { RadioButton radio = (RadioButton) radioGroup1.getChildAt(i);11 } }
3、检查每个RadioButton是否被选取
if (radio.isChecked()) { break; }
4、取出被选取的那个RadioButton里面的值
Toast.makeText(Activity01.this, radio.getText(), Toast.LENGTH_LONG).show();
三、代码实例
效果图:
代码:
fry.Activity01
package fry; import com.example.RadioButtonDemo1.R; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; import android.widget.Toast; public class Activity01 extends Activity { private Button btn_chooseGender; private RadioGroup radioGroup1; private TextView tv_answer; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity01); btn_chooseGender = (Button) findViewById(R.id.btn_chooseGender); radioGroup1 = (RadioGroup) findViewById(R.id.radioGroup1); tv_answer = (TextView) findViewById(R.id.tv_answer); /* * RadioButton实现多选一方法 * 1、将多个RadioButton放在一个RadioGroup里面 * 2、在RadioGroup里面取出每个RadioButton * 3、检查每个RadioButton是否被选取 * 4、取出被选取的那个RadioButton里面的值 */ btn_chooseGender.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub int len = radioGroup1.getChildCount(); for (int i = 0; i < len; i++) { RadioButton radio = (RadioButton) radioGroup1.getChildAt(i); if (radio.isChecked()) { Toast.makeText(Activity01.this, radio.getText(), Toast.LENGTH_LONG).show(); break; } } } }); } }
/RadioButtonDemo1/res/layout/activity01.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/black" android:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="性别" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_gravity="center_horizontal" android:textColor="#FFFFFF" /> <RadioGroup android:id="@+id/radioGroup1" android:layout_width="match_parent" android:layout_height="wrap_content" > <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男" android:textColor="#FFFFFF" /> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女" android:textColor="#FFFFFF" /> </RadioGroup> <Button android:id="@+id/btn_chooseGender" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="选择性别" android:textColor="#FFFFFF" /> /> <TextView android:id="@+id/tv_answer" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_gravity="center_horizontal" android:textColor="#FFFFFF" /> </LinearLayout>
四、收获
1、
android:textColor="#FFFFFF"
设置颜色,直接用#FFFFFF
2、
android:layout_gravity="center_horizontal"
文字居中显示
3、
RadioButton在RadioGroup里面实现多选一
4、
android:background="@android:color/black"
设置黑色,系统自带颜色
5、
int len = radioGroup1.getChildCount();
RadioGroup获取孩子数量
6、
RadioButton radio = (RadioButton) radioGroup1.getChildAt(i);
RadioGroup获取孩子
7、
if (radio.isChecked())
判断RadioButton是否被选取
8、
Toast.makeText(Activity01.this, radio.getText(),Toast.LENGTH_LONG).show();
看完上述内容,你们掌握Android中怎么利用RadioButton控件实现多选一功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。