如何在prefrence活动中创建单选按钮

时间:2016-07-21 21:07:02

标签: android android-studio radio-button sharedpreferences preferenceactivity

我希望能够在我的偏好活动中创建一个单选按钮,您将如何实现这一目标。

还可以说我有三个单选按钮,如何编程单选按钮(在首选项活动中)以执行我想要的任务?

1 个答案:

答案 0 :(得分:0)

RadioButtons是与之交互的不错的Button风格。

首先,在您的活动xml文件

上声明Radiogroup块

1)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <RadioGroup
        android:id="@+id/radiogroup_choice"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <RadioButton
            android:id="@+id/choice_yes"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/choice_yes"
            android:checked="true" />

        <RadioButton
            android:id="@+id/choice_no"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/choice_no" />

    </RadioGroup>

</LinearLayout>

2)然后,在您的PreferenceActivity,Activity或Fragment(无论您使用哪个)中,以及使用 setContentView(R.layout.your_activity_layout); 设置内容视图后,您可以通过执行实例化您的radiogroup以下内容:

 RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radiogroup_choice);        
    radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() 
    {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            switch(checkedId) {
                 case R.id.choice_yes:
                      // button yes was selected. do your work here
                     break;
                 case R.id.choice_no:
                      // button no was selected. do your work here
                     break;
                 default:
                     // default stuff 
                     break;

            }
        }
    });

此外,由于 RadioButton 扩展了Android的基本按钮,您还可以附加 onClickListener ,以便在您启动时触发操作按下按钮而不是更改是和否之间的选项。

此致