我想创建一个包含三个复选框的首选项屏幕;第一个是可点击的,而另外两个在第一个被选中之前是不可点击的。
我怎样才能做到这一点?我看过本教程,但只有一个复选框。谁能帮我?
我想创建一个包含三个复选框的首选项屏幕;第一个是可点击的,而另外两个在第一个被选中之前是不可点击的。
我怎样才能做到这一点?我看过本教程,但只有一个复选框。谁能帮我?
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory
android:summary="@string/summary_category"
android:title="@string/title_category">
<CheckBoxPreference
android:key="main"
android:defaultValue="true"
android:summary="@string/summary_main"
android:title="@string/title_main"
/>
<CheckBoxPreference
android:key="firstDependent"
android:summary="@string/summary_firstDependent"
android:title="@string/title_firstDependent"
android:dependancy="main"
/>
<CheckBoxPreference
android:key="secondDependent"
android:summary="@string/summary_secondDependent"
android:title="@string/title_secondDependent"
android:dependancy="main"
/>
</PreferenceCategory>
<!--Any other categories include here-->
</PreferenceScreen>
您可以简单地通过设置android:dependancy
相应复选框必须依赖的复选框的键来执行此操作。
现在在 res 文件夹中创建一个名为 xml 的文件夹,并将您的首选项 xml 文件放入其中。然后执行以下操作。
public class SettingsActivity extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
您也可以使用更推荐的片段来执行此操作。但上述方法要容易得多。如果您想使用片段执行此操作,请检查此内容,其中包含您需要了解的有关创建设置活动的所有信息。
希望这可以帮助。
您必须像该示例中那样执行此操作,但是您将拥有三个checkboxes
而不是一个。如果您希望checkboxes
禁用两个,直到第一个为真,您可以使用该android:dependency
属性。使用此属性,您需要指定它们所依赖的首选项的键。
<PreferenceCategory
android:summary="..."
android:title="..." >
<CheckBoxPreference
android:defaultValue="true"
android:key="first"
android:summary="@string/summary_first"
android:title="@string/title_first" />
<CheckBoxPreference
android:defaultValue="false"
android:dependency="first"
android:key="second"
android:summary="@string/summary_second"
android:title="@string/title_second" />
<CheckBoxPreference
android:defaultValue="false"
android:dependency="first"
android:key="third"
android:summary="@string/summary_third"
android:title="@string/title_third" />
</PreferenceCategory>