remyhoussem
Messages postés50Date d'inscriptionmardi 27 octobre 2009StatutMembreDernière intervention16 décembre 2012
-
9 mars 2012 à 17:47
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020
-
11 mars 2012 à 21:05
Aidez moi SVP
j'ai plus que 20 jour entrain de développer une liste d'achat mais j'arrive pas à la réaliser.
je veut quand je clique sur le nom de ma liste
afficher tous les produits appartenant à cette liste.
dans ma base de données j'ai définis 3 tables:
table liste(nom, id_liste)
table produit(nom_produit,id_produit)
table produit_liste(id_liste,id_produit)
quand je clique sur ma liste(OnItemClick) j'appelle cet méthode mais ça me renvoie nullPointerException:
public String[] info_liste(String idliste){
String[] aTableauRetour = new String[3];
String MY_QUERY = "SELECT * FROM table_produit INNER JOIN table_liste_produit ON table_produit.id_produit=table_liste_produit.id_produit WHERE b.id_liste='"+idliste+"'";
Cursor c=mDb.rawQuery(MY_QUERY, null);
c.moveToFirst();
int iPostNom=c.getColumnIndex("nom_produit");
int iPostquantite=c.getColumnIndex("qte_mesure");
int iPostmesure=c.getColumnIndex("unite_mesure");
c.moveToFirst();
String resultNom=c.getString(iPostNom);
String resultqte=c.getString(iPostquantite);
String resultmesure=c.getString(iPostmesure);
aTableauRetour[0]=resultNom;
aTableauRetour[1]= resultqte;
aTableauRetour[2]=resultmesure;
return aTableauRetour;
}
A voir également:
Afficher ma liste de courses
Application liste de courses android - Meilleures réponses
Liste de courses application - Meilleures réponses
remyhoussem
Messages postés50Date d'inscriptionmardi 27 octobre 2009StatutMembreDernière intervention16 décembre 2012 10 mars 2012 à 10:46
je t'ai pas compris,
je vous explique un peu qu'est ce que j'ai fais,
j'insérer des produits, donc à chaque fois que je clique sur un bouton ça m'affiche une boite de dialogue , j'entre le nom de mon produit et puis ce produit s'enregistre dans une listeView mais pas dans la base voilà la méthode:
private class OnReadyListener implements MyclassDialog.ReadyListener,
AdapterView.OnItemClickListener, View.OnClickListener {
private ListView mList;
@Override
public void ready(String sQuantite,String sUnite,String sIngredient) {
final ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(getBaseContext(),
android.R.layout.simple_gallery_item,aTableaupdtaff);
mList.setAdapter(adapter2);
et puis je clique sur un bouton save afin que ces produits s'enregistre dans la liste et j'ai utilisé cette méthode d'insertion:
public long insererListe(String sNomListe, ArrayList<String[]> aTableauproduit)
{
long lien = 0;
ContentValues initialValues=new ContentValues();
initialValues.put("nom_list", sNomListe);
long idliste=mDb.insert(TABLE_LISTE, null, initialValues);
int iTaille=aTableauproduit.size();
String []colonne=new String[]{"nom_produit","id_produit"};
maintenant je veut qu'on je clique sur le nom de la liste ça m'affiche les differents produits qui appartient à elle,alors j'ai utlisé la méthode que j'ai posté précedement.
je suis totalement bloqué aidez moi svp, j'ai plus que 20 jours mais j'ai pas trouvé une bonne méthode d'afficher une liste course.
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020372 10 mars 2012 à 15:30
Peux tu me donner la trace de ton exception et me recopier les quelques qui lèvent la nullpointerException : si tu fais ça, normalement, je devrais résoudre ton problème.
EXCEPTION: main
03-10 15:49:53.794: E/AndroidRuntime(832): android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
03-10
15:49:53.794: E/AndroidRuntime(832): at android.database.AbstractCursor.checkPosition(AbstractCursor.java:580)
03-10 15:49:53.794: E/AndroidRuntime(832):
at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:214)
03-10 15:49:53.794: E/AndroidRuntime(832): at
android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:41)
03-10 15:49:53.794: E/And
roidRuntime(832):
at com.google.android.Fidelity.MaBase.info_liste(MaBase.java:214)
03-10 15:49:53.794:
E/AndroidRuntime(832):
at com.google.android.Fidelity.MaListe.onItemClick(MaListe.java:132)
03-10 15:49:53.794:
E/AndroidRuntime(832):
at android.widget.AdapterView.performItemClick(AdapterView.java:284)
03-10 15:49:53.794:
E/AndroidRuntime(832):
at android.widget.ListView.performItemClick(ListView.java:3513)
03-10 15:49:53.794:
E/AndroidRuntime(832):
at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812)
03-10 15:49:53.794:
E/AndroidRuntime(832):
at android.os.Handler.handleCallback(Handler.java:587)
03-10 15:49:53.794:
E/AndroidRuntime(832):
at android.os.Handler.dispatchMessage(Handler.java:92)
03-10 15:49:53.794:
E/AndroidRuntime(832):
at android.os.Looper.loop(Looper.java:123)
03-10 15:49:53.794: E/AndroidRuntime(832):
at android.app.ActivityThread.main(ActivityThread.java:3683)
03-10 15:49:53.794:
E/AndroidRuntime(832):
at java.lang.reflect.Method.invokeNative(Native Method)
03-10 15:49:53.794: E/AndroidRuntime(832):
at java.lang.reflect.Method.invoke(Method.java:507)
03-10 15:49:53.794: E/AndroidRuntime(832):
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-10 15:49:53.794: E/AndroidRuntime(832):
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-10 15:49:53.794: E/AndroidRuntime(832):
remyhoussem
Messages postés50Date d'inscriptionmardi 27 octobre 2009StatutMembreDernière intervention16 décembre 2012 10 mars 2012 à 22:04
j'ai pas reussi à supprimer l'erreur voici mon code d'insertion dans le tableau:
public long insererListe(String sNomListe, ArrayList<String[]> aTableauproduit)
{
long lien = 0;
ContentValues initialValues=new ContentValues();
initialValues.put("nom_list", sNomListe);
long idliste=mDb.insert(TABLE_LISTE, null, initialValues);
int iTaille=aTableauproduit.size();
String []colonne=new String[]{"nom_produit","id_produit"};