我想创建一个首选项屏幕,其中有三个复选框;第一个是可点击的,另外两个是直到第一个被检查。
我该怎么做?我见过this tutorial,但只有一个复选框。任何人都可以帮助我吗?
答案 0 :(得分:4)
<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);
}
}
您也可以使用更推荐的片段来完成此操作。但上述方法要容易得多。如果您想使用片段执行此操作,请选中this,其中包含有关创建“设置活动”所需的所有信息。
希望这会有所帮助。
答案 1 :(得分:3)
你必须像那个例子那样做,但你将有三个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>