2

Я хочу создать экран предпочтений, в котором есть три флажка; первый из них можно щелкнуть, а два других - только до тех пор, пока не будет проверен первый.Как создать меню настроек с галочкой Android

Как я могу это сделать? Я видел this tutorial, но есть только один флажок. Может кто-нибудь мне помочь?

ответ

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 к ключу от флажка, в котором соответствующие флажки должны зависеть.

Теперь создайте папку с именем xml в папке res и поместите в нее свой XML-файл настроек. Затем выполните следующие действия.

public class SettingsActivity extends PreferenceActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     addPreferencesFromResource(R.xml.preferences); 


    } 


}  

Вы также можете сделать это с помощью фрагментов, которые более рекомендуется. Но вышеупомянутый метод намного проще. Если вы хотите сделать это с помощью фрагментов, отметьте this, который содержит все, что вам нужно знать о создании Activity.

Надеюсь, это поможет.

+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

Ничего себе это потрясающе! Огромное спасибо. –

Смежные вопросы