==*在這裏開始引用事件處理,需要先看博文《android基礎-事件處理》==
簡介
RadioButton 單選按鈕放置在 RadioGroup 中使用,在後端獲取佈局頁面選擇項目數據
RadioButton 對象方法 | 釋義 |
---|---|
getChildCount( ) | 獲得按鈕組中的單選按鈕的數目; |
getChinldAt(i) | 根據索引值獲取我們的單選按鈕 |
isChecked( ) | 判斷按鈕是否選中 |
getText() | 獲取值 |
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="請選擇性別"
android:textSize="23dp"
/>
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/btnMan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"
android:checked="true"/>
<RadioButton
android:id="@+id/btnWoman"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"/>
</RadioGroup>
<Button
android:id="@+id/btnpost"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="myclick"
android:text="提交"/>
</LinearLayout>
監聽按鈕組ID選擇觸發
MainActivity.java
package com.example.myapplication;
import android.app.Activity;
import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// 保存Activity的狀態
super.onCreate(savedInstanceState);
// 加載視圖
setContentView(R.layout.activity_main);
// 獲取單選按鈕組對象
RadioGroup radgroup = (RadioGroup) findViewById(R.id.radioGroup);
// 監聽按鈕
radgroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
// 單選按鈕組對象當做參數傳入,以便獲取單選對象
public void onCheckedChanged(RadioGroup group, int checkedId) {
// 獲取單選對象
RadioButton radbtn = (RadioButton) findViewById(checkedId);
Toast.makeText(getApplicationContext(), "按鈕組值發生改變,你選了" + radbtn.getText(), Toast.LENGTH_LONG).show();
}
});
}
}
onClick 提交觸發
package com.example.myapplication;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// 保存Activity的狀態
super.onCreate(savedInstanceState);
// 加載視圖
setContentView(R.layout.activity_main);
}
public void myclick(View source)
{
// 獲取單選按鈕組對象
RadioGroup radgroup = (RadioGroup) findViewById(R.id.radioGroup);
// 遍歷單選按鈕組中對象,找到有checked屬性的對象(即找到選中的對象)
for (int i = 0; i < radgroup.getChildCount(); i++) {
RadioButton rd = (RadioButton) radgroup.getChildAt(i);
if (rd.isChecked()) {
Toast.makeText(getApplicationContext(), "點擊提交按鈕,獲取你選擇的是:" + rd.getText(), Toast.LENGTH_LONG).show();
break;
}
}
}
}