Bonjour,

Je suis en train de développer une application Android. Pour mon application, j'ai un menu de préférences construit à l'aide d'un fichier XML, voir ci contre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?xml version="1.0" encoding="utf-8"?>
 
<PreferenceScreen 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:title="Settings">
 
 
<ListPreference 
	android:key="cabs_number"
	android:title="Number of cabs" 
	android:summary="Please select the number of cabs to display on the map" 
	android:dialogTitle="Select your cabs number :" 
	android:entries="@array/cabs_number_list"
	android:entryValues="@array/cabs_number_list_value"
	android:negativeButtonText="Cancel"/>
 
	<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
	 	android:title="City" 
		android:key="city"
		android:summary="Please select your city">
		<CheckBoxPreference 
		android:title="Chicago"
		android:key="Chicago">
		</CheckBoxPreference>
		<CheckBoxPreference 
		android:key="NewYork" 
		android:title="NewYork">
		</CheckBoxPreference>
		<CheckBoxPreference 
		android:key="Houston" 
		android:title="Houston">
		</CheckBoxPreference>
</PreferenceScreen>
 
 
	<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
		android:title="Company" 
		android:key="company" 
		android:summary="Please select your(s) company(ies)">
		<CheckBoxPreference 
		android:key="YellowCab" 
		android:title="YellowCab" 
		android:dependency="Chicago">
		</CheckBoxPreference>
		<CheckBoxPreference 
		android:key="CaribootTaxi" 
		android:title="CaribootTaxi"
		android:dependency="Houston">
		</CheckBoxPreference>
		<CheckBoxPreference 
		android:key="ManhattanTaxi" 
		android:title="ManhattanTaxi" 
		android:dependency="NewYork">
		</CheckBoxPreference>
		<CheckBoxPreference 
		android:key="NYCTaxi" 
		android:title="NYCTaxi" 
		android:dependency="NewYork">
		</CheckBoxPreference>
	</PreferenceScreen>
 
	<PreferenceScreen 
	android:title="Type of cabs" 
	android:summary="Please select your(s) cabs type" 
	android:key="cabs_type">
 
		<CheckBoxPreference 
		android:title="Limo" 
		android:key="cabs_type1" 
		/>
 
		<CheckBoxPreference 
		android:title="Car service" 
		android:key="cabs_type2" 
		/>
	</PreferenceScreen>
 
	<ListPreference 
	android:summary="Please select your number of seats" 
	android:title="Passengers" 
	android:key="passengers_number" 
	android:negativeButtonText="Cancel" 
	android:positiveButtonText="OK " 
	android:dialogTitle="Select your seats number :" 
	android:entryValues="@array/passengers_number_list_value" 
	android:entries="@array/passengers_number_list"/>
 
</PreferenceScreen>
J'ai crée des dépendances entre deux éléments distincts et cela marche bien. Par contre, dans mon deuxieme "PreferenceScreen", j'ai la liste des villes. Dans cette liste, j'aimerais que lorsque je coche une checkbox, les autres soit automatiquement grisées et impossible de les sélectionner. Dans l'autre cas, quand je décoche la checkbox, tout devienne cochable. Je pensais faire cela à l'aide d'un script java, ou j'ai une boucle qui vérifie l'état des checkbox et qui fasse en conséquence une action. Je ne sais pas du tout comment faire.

Merci d'avance