Bonjour à tous,
Cherchant désespérément à remplir une ListView avec le résultat d'une requête... J'ai cette erreur qui survient :
Comment peut-on règler ce problème?
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 06-07 10:36:35.090: E/AndroidRuntime(652): FATAL EXCEPTION: main 06-07 10:36:35.090: E/AndroidRuntime(652): java.lang.NullPointerException 06-07 10:36:35.090: E/AndroidRuntime(652): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:394) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.widget.ArrayAdapter.getView(ArrayAdapter.java:362) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.widget.AbsListView.obtainView(AbsListView.java:2033) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.widget.ListView.measureHeightOfChildren(ListView.java:1244) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.widget.ListView.onMeasure(ListView.java:1155) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.view.View.measure(View.java:12603) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4677) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1369) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.widget.LinearLayout.measureVertical(LinearLayout.java:660) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.widget.LinearLayout.onMeasure(LinearLayout.java:553) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.view.View.measure(View.java:12603) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4677) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.widget.FrameLayout.onMeasure(FrameLayout.java:293) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.view.View.measure(View.java:12603) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.widget.LinearLayout.measureVertical(LinearLayout.java:812) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.widget.LinearLayout.onMeasure(LinearLayout.java:553) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.view.View.measure(View.java:12603) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4677) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.widget.FrameLayout.onMeasure(FrameLayout.java:293) 06-07 10:36:35.090: E/AndroidRuntime(652): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2072) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.view.View.measure(View.java:12603) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1044) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2418) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.os.Handler.dispatchMessage(Handler.java:99) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.os.Looper.loop(Looper.java:137) 06-07 10:36:35.090: E/AndroidRuntime(652): at android.app.ActivityThread.main(ActivityThread.java:4340) 06-07 10:36:35.090: E/AndroidRuntime(652): at java.lang.reflect.Method.invokeNative(Native Method) 06-07 10:36:35.090: E/AndroidRuntime(652): at java.lang.reflect.Method.invoke(Method.java:511) 06-07 10:36:35.090: E/AndroidRuntime(652): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 06-07 10:36:35.090: E/AndroidRuntime(652): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 06-07 10:36:35.090: E/AndroidRuntime(652): at dalvik.system.NativeStart.main(Native Method)![]()
Et si vous avez des conseils pour remplir la ListView, tout est bon à prendre
Voici le code :
Et les fonctions utilisées dans ce code :
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 public class AffichageClientActivity extends MainActivity{ clientBDD cliBDD= new clientBDD(this); ListView clientListe; client cli = new client("","","","","","","",0,0); protected void onCreate(Bundle saveInstanceBundle){ super.onCreate(saveInstanceBundle); setContentView(R.layout.listingclient); clientListe = (ListView)findViewById(R.id.list); //récupération de la valeur de l'EditText Bundle objetbundle= this.getIntent().getExtras(); String nomclient=objetbundle.getString("nomclient"); cliBDD.open(); cli=cliBDD.getClientwithNom(nomclient); if (cliBDD != null){ //affichage du ou des client(s) clientListe = (ListView)findViewById(R.id.list); ArrayAdapter<client> adapter = new ArrayAdapter<client>(this,android.R.layout.simple_list_item_1); // SimpleCursorAdapter= new SimpleCursorAdapter(context, R.layout.listingclient, new String[]{cliBDD.nom, cliBDD.prenom, cliBDD.adresse, cliBDD.cp, cliBDD.ville, cliBDD.mail, cliBDD.tel, cliBDD.nbpizzatotal, cliBDD.nbpizzaencours}, new int[]{R.id.nom,R.id.prenom,R.id.adresse,R.id.cp,R.id.ville,R.id.mail,R.id.tel,R.id.nbpizzaencours,R.id.nbpizzatotal}); adapter.add(cli); clientListe.setAdapter(adapter); } else { Toast.makeText(this, "Ce client n'est pas enregistré dans la base, vérifier l'orthographe ou bien ajouter un nouveau client.", Toast.LENGTH_LONG).show(); } } }
Merci d'avance
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 public client getClientwithNom(String nom){ Cursor c = bdd.query(TABLE_CLIENT, new String[] {_ID, COL_NOM, COL_PRENOM, COL_ADRESSE, COL_CP, COL_VILLE, COL_MAIL, COL_TEL, COL_PIZZAENCOURS, COL_PIZZATOTAL}, COL_NOM + " LIKE \"" + nom +"\"", null, null, null, null); return cursorToClient(c); } public client cursorToClient(Cursor c){ if(c.getCount()== 0) { return null; } c.moveToFirst(); client cli = new client(); cli.setId(c.getInt(NUM_COL_ID)); cli.setNom(c.getString(NUM_COL_NOM)); cli.setPrenom(c.getString(NUM_COL_PRENOM)); cli.setAdresse(c.getString(NUM_COL_ADRESSE)); cli.setCp(c.getString(NUM_COL_CP)); cli.setVille(c.getString(NUM_COL_VILLE)); cli.setMail(c.getString(NUM_COL_MAIL)); cli.setTel(c.getString(NUM_COL_TEL)); cli.setNbpizzaencours(c.getInt(NUM_COL_PIZZAENCOURS)); cli.setNbpizzatotal(c.getInt(NUM_COL_PIZZATOTAL)); c.close(); return cli; }![]()
Partager