您的位置:首页 > 移动开发 > Android开发

1. RadioGroup随笔

2016-08-16 10:32 363 查看
RadioGroup是由多个Radio组成的一个群组。

如下示例:

1. 新建控件

<RadioGroup
android:id="@+id/hobby"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton
android:id="@+id/swim"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="swim"/>
<RadioButton
android:id="@+id/fish"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="fish"/>
<RadioButton
android:id="@+id/ball"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="ball"
android:checked="true"/> <!--默认值-->
</RadioGroup>


获取RadioGroup控件

RadioGroup mHobbyGroup = (RadioGroup) findViewById(R.id.hobby);

获取默认值

RadioButton defaultHobby = (RadioButton) mHobbyGroup.findViewById(mHobbyGroup.getCheckedRadioButtonId());

String defaultValue = defaultHobby.getText().toString();

监控改变的选中值

需要继承RadioGroup.OnCheckedChangeListener接口,

重写方法

@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
int radioId = mHobbyGroup.getCheckedRadioButtonId();
if(radioId<0) {
radioContent.setText("no radio is checked");
} else {
hobby = (RadioButton) mHobbyGroup.findViewById(checkedId);
radioContent.setText("My hobby is " + hobby.getText());
}
}


详细代码如下:

MainActivity.java

public class MainActivity extends Activity implements RadioGroup.OnCheckedChangeListener{

private RadioGroup mHobbyGroup = null;
private TextView radioContent = null;
private RadioButton hobby = null;
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
radioContent = (TextView) findViewById(R.id.radio_content);
mHobbyGroup = (RadioGroup) findViewById(R.id.hobby);
RadioButton defaultHobby = (RadioButton) mHobbyGroup.findViewById(mHobbyGroup.getCheckedRadioButtonId());
radioContent.setText("My hobby is " + defaultHobby.getText());
// String valueString = defaultHobby.getText().toString();
mHobbyGroup.setOnCheckedChangeListener(this);
// mHobbyGroup.clearCheck();
}

@Override public void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stub int radioId = mHobbyGroup.getCheckedRadioButtonId(); if(radioId<0) { radioContent.setText("no radio is checked"); } else { hobby = (RadioButton) mHobbyGroup.findViewById(checkedId); radioContent.setText("My hobby is " + hobby.getText()); } }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 控件