回答

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,其中包含您需要了解的有關創建設置活動的所有信息。

希望這會有所幫助。

+0

謝謝。我有沒有在java中設置一些東西? –

+1

是的,你將不得不。檢查我編輯的答案。 – Dulanga

+0

非常感謝。 –

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> 
+0

哇,這太神奇了!非常感謝。 –