2012-07-20 12 views
0

Dans mon application, j'ai un listview. Je dois passer la position de la ligne cliquée à l'écran suivant. Mais il montre que nulle ... s'il vous plaît aidez-moi ...LIstview position dans android

Voici mon code listview:

lv.setOnItemClickListener(new OnItemClickListener() 
      { 
       public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 
        intent.putExtra("Pos", position); 
        } 
      });  

Mon autre écran où je reçois cette pos:

save.setOnClickListener(new View.OnClickListener() { 

       @Override 
       public void onClick(View arg0) 
       { 
        Intent intent=getIntent(); 
        String pos=intent.getStringExtra("Pos"); 
        System.out.println("Pos="+pos); 
        int position=Integer.parseInt(pos); 

       } 
      }); 
+0

Dans le premier écran (activité), où sont vous écrivez le startActivity(); méthode? –

Répondre

3

Le problème est ici,

String pos=intent.getStringExtra("Pos"); 

Vous passez une valeur int et vous vérifiez la valeur de chaîne qui n'est évidemment pas correc t.

changement à,

int pos=intent.getIntExtra("Pos"); 

Par cela, cela signifie que la clé de votre vente supplémentaire Types de données sont indépendantes du type de données lui-même. Assurez-vous donc de le passer comme int et l'obtenir comme int.

+0

THanks Andro Selva..Il travaille..Un plus je dois écrire une requête de mise à jour avec 1 int (pos) et 1 chaîne comme codition: bElow est ma requête long id = db.update (DATABASE_TABLE, initialValues, "description" + "=" + update AND category = 'Revenu', null); mais il montre comme l'erreur .. J'ai cherché mais je ne peux pas obtenir la solution. s'il vous plaît m'aider .. –

+0

j'accepterai cette réponse ... Je vais expliquer le scénario clairement .. De ma table de base de données je dois mettre à jour une rangée particulière (qui J'ai choisi dans listview) par position et une catégorie comme revenu.SO mon problème est comment puis-je écrire une requête de mise à jour avec 2 conditions satisfaisantes .. J'ai écrit le code ci-dessus, mais ce n'est pas correct .. Je pense que je l'ai expliqué clairement? ?? –

+0

Je souhaite vraiment vous aider. Mais je ne suis pas si bon avec les questions .. J'espère que vous l'obtenez .. :( –

1

Vous mettez int dans intent.putExtra("Pos", position);

Mais vous essayez d'obtenir String de

String pos=intent.getStringExtra("Pos"); 

Utilisez

int pos=intent.getIntExtra("Pos"); 

à la place