android基礎-RadioButton(單選按鈕)

==*在這裏開始引用事件處理,需要先看博文《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;
            }
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章