android RadioGroup實現單選以及預設選中
阿新 • • 發佈:2019-02-06
本文將通過radiogroup和radiobutton實現組內資訊的單選,
其中radiogroup就是將radiobutton進行分組,同一管理和控制
同時實現預設選中情況,獲取預設值.效果圖
具體例項如下:
1.activity_main.xml
<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" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" > <TextView android:id="@+id/diplay_seleted_item_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/please_selected"/> <RadioGroup android:id="@+id/sex_rg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#00FF00" android:orientation="vertical" > <RadioButton android:id="@+id/man_rb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/man" /> <RadioButton android:id="@+id/woman_rb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/woman" /> </RadioGroup> </LinearLayout>
2.strings.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">RadioGroupDemo</string> <string name="please_selected">請選擇你的性別:</string> <string name="action_settings">Settings</string> <string name="man">男</string> <string name="woman">女</string> </resources>
3.MainActivity.java
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); defaultStr = this.getResources().getString(R.string.please_selected); seletedTv = (TextView) this.findViewById(R.id.diplay_seleted_item_tv); sexRg = (RadioGroup) this.findViewById(R.id.sex_rg); manRb = (RadioButton) this.findViewById(R.id.man_rb); womanRb = (RadioButton) this.findViewById(R.id.woman_rb); manRb.setChecked(true); seletedTv.setText(defaultStr + manRb.getText().toString()); sexRg.setOnCheckedChangeListener(new OnCheckedChangeListener(){ @Override public void onCheckedChanged(RadioGroup rg, int checkedId) { // TODO Auto-generated method stub if(checkedId == manRb.getId()){ seletedTv.setText(defaultStr + manRb.getText().toString()); }else if(checkedId == womanRb.getId()){ seletedTv.setText(defaultStr + womanRb.getText().toString()); }else{ seletedTv.setText(defaultStr); } } }); }