Bonjour,
Voici ma listeview :
Code XML : 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 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:id="@+id/listemployes" android:layout_width="match_parent" android:layout_height="wrap_content" android:dividerHeight="0.1dp" android:divider="#0000CC"> </ListView> </FrameLayout>
Voici ma relative layout :
Code XML : 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 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="2dp" > <TextView android:id="@+id/textViewNom" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:layout_toRightOf="@+id/profile_pic" android:paddingBottom="10dp" android:textSize="20sp" android:textColor="@color/blue" android:textStyle="bold" android:width="140dp" /> <TextView android:id="@+id/textViewPrenom" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textViewNom" android:layout_below="@+id/textViewNom" android:textSize="16sp" /> <TextView android:id="@+id/textViewTelephone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textViewPrenom" android:layout_alignBottom="@+id/textViewPrenom" android:layout_alignParentRight="true" android:textSize="16sp" /> <Button android:id="@+id/btn_details" android:layout_width="200dip" android:layout_height="wrap_content" android:text="Plus de détails" android:layout_alignLeft="@+id/textViewTelephone" android:layout_below="@+id/textViewTelephone" android:layout_alignParentLeft="true" android:layout_marginTop="15dip" android:layout_marginLeft="110dip" android:onClick="transferer"/> </RelativeLayout>
Activités(tout en sachant que je récupère les données depuis une base de données) :
Code Java : 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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.my_activity); lv = (ListView) findViewById(R.id.listemployes); TaskWs task = new TaskWs(); task.execute(); } public void transferer(View v) { TextView tv_telephone = (TextView)findViewById(R.id.textViewTelephone); final String telephone = tv_telephone.getText().toString(); TextView TVnom = (TextView)findViewById(R.id.textViewNom); String nom = TVnom.getText().toString(); TextView TVprenom = (TextView) findViewById(R.id.textViewPrenom); String prenom = TVprenom.getText().toString(); ad = new AlertDialog.Builder(MyActivity.this) .setTitle("Employé") .setMessage("Nom : "+nom) .setMessage("Prénom : "+prenom) .setSingleChoiceItems(monadaptateur, -1, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplicationContext(), "appeler "+telephone, Toast.LENGTH_LONG).show(); dialog.cancel(); } }) .setPositiveButton("Appeler", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { Intent callIntent = new Intent(Intent.ACTION_CALL); callIntent.setData(Uri.parse(telephone.trim())); startActivity(callIntent ); dialog.cancel(); } }) .setNegativeButton("Ajouter contact", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { ArrayList < ContentProviderOperation > ops = new ArrayList < ContentProviderOperation > (); ops.add(ContentProviderOperation.newInsert( ContactsContract.RawContacts.CONTENT_URI) .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null) .withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null) .build()); if (nom != null) { ops.add(ContentProviderOperation.newInsert( ContactsContract.Data.CONTENT_URI) .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0) .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE) .withValue( ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, nom).build()); } if (telephone != null) { ops.add(ContentProviderOperation. newInsert(ContactsContract.Data.CONTENT_URI) .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0) .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE) .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, telephone) .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE) .build()); } dialog.cancel(); } }).show(); } }
Ce qui marche :
* La liste s'affiche normalement avec ses items(et donc aucun problème avec la base).
* Ajouter contact marche normalement.
Ce qui ne marche pas :
1) Appeler : ne marche pas ! avec un message d'erreur :
"android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.CALL dat=003312345678 }"
2) quand je clique sur un item, c'est les données d'un autre item qui s'affiche!!!!
3) Avec une "alertDialog" je peux pas afficher plusieurs données????
.setMessage("Nom : "+nom)
.setMessage("Prénom : "+prenom)
.setMessage("Téléphone : "telephone)
ça ne marche pas!!
Objectifs :
Donc je dois avoir une liste de mes employés(c'est bon) :
Nom
Prenom
Telephone
[Plus de détails]
Ou même sans bouton ! Le plus important quand je clique sur "item" une "AlertDialog" s'affiche et me propose tous les détails :
Nom
Prenom
Telephone
Adresse
avec 2 boutons : [Appeler] / [Ajouter contact]
Remarque :
J'ai essayé une autre méthode :
Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View viewItem, int position, long arg3) throws NullPointerException { }
mais ça n'a pas marché!!!! (Quand je clique sur un item rien ne se passe)
Je vous remercie d'avance.
Partager