blubsy Posté(e) 20 janvier 2010 Share Posté(e) 20 janvier 2010 Bonsoir, je début sur android et je suis un peu bloqué alors je recherche un peu d'aide. J'ai une listeview avec des données et je voudrais lorsqu'on clique sur une donné que contextemenu s'ouvre (modif, supp ou annuler). J'ai reussi à le mettre en place mais voilà lorsque je veux géré la donnée je n'arrive pas à récupéré son id. Avec un onItemClick j'arrive à le faire : public void onItemClick(AdapterView parent, View v, int position, long id) Mais avec un onCreateContextMenu je n'arrive pas à faire passé une donnée ou à déterminé la position cliqué dans la listview. Alors si quelqu'un pouvait l'aiguillé cela m'aiderais beaucoup. Merci par avance pour votre aide. blubsy Lien vers le commentaire Partager sur d’autres sites More sharing options...
alexYop Posté(e) 21 janvier 2010 Share Posté(e) 21 janvier 2010 Dans ton onItemClick tu as justement int position et long id Trace ces 2 variables avec Log.e("tag", id);, tu verras que les valeurs change. Cela t'indique la position Peut tu mettre ton bout de code ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
encolie Posté(e) 18 avril 2011 Share Posté(e) 18 avril 2011 J'ai exactement le problème. je voudrai mettre un contextMenu différent pour chaque élément dans ma listView mais je n'arrive pas à récupérer la position. Voici mon code: public class TextView extends Activity { private ListView maListViewPerso; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); maListViewPerso = (ListView) findViewById(R.id.listviewperso); ArrayList<HashMap<String, String>> listItem = new ArrayList<HashMap<String, String>>(); HashMap<String, String> map; map = new HashMap<String, String>(); map.put("titre", "Admin"); map.put("description", "Management identification"); map.put("img", String.valueOf(R.drawable.admin)); map.put("symbol", String.valueOf(R.drawable.fleche)); listItem.add(map); map = new HashMap<String, String>(); map.put("titre", "Employee"); map.put("description", "Management Employees"); map.put("img", String.valueOf(R.drawable.employee)); map.put("symbol", String.valueOf(R.drawable.fleche)); listItem.add(map); map = new HashMap<String, String>(); map.put("titre", "Expense Line"); map.put("description", "Expense description"); map.put("img", String.valueOf(R.drawable.line)); map.put("symbol", String.valueOf(R.drawable.fleche)); listItem.add(map); map = new HashMap<String, String>(); map.put("titre", "Expense Report"); map.put("description", "Report of all expenses"); map.put("img", String.valueOf(R.drawable.expensereport)); map.put("symbol", String.valueOf(R.drawable.fleche)); listItem.add(map); map = new HashMap<String, String>(); map.put("titre", "Project"); map.put("description", "Management projects"); map.put("img", String.valueOf(R.drawable.project)); map.put("symbol", String.valueOf(R.drawable.fleche)); listItem.add(map); SimpleAdapter mSchedule = new SimpleAdapter (this.getBaseContext(), listItem, R.layout.displayitem, new String[] {"img", "titre", "description","symbol"}, new int[] {R.id.img, R.id.titre, R.id.description, R.id.symbol}); maListViewPerso.setAdapter(mSchedule); maListViewPerso.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener() { public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { menu.setHeaderTitle("SubMenu"); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.layout.menu, menu); } }); } public boolean onContextItemSelected(MenuItem item){ switch (item.getItemId()) { case R.id.employee: Toast.makeText(TextView.this, "Delete", Toast.LENGTH_SHORT).show(); return true; case R.id.create01: Toast.makeText(TextView.this, "Create", Toast.LENGTH_SHORT).show(); //setContentView(R.layout.addemployee); return true; case R.id.delete01: Toast.makeText(TextView.this, "Delete", Toast.LENGTH_SHORT).show(); return true; case R.id.edit01: Toast.makeText(TextView.this, "Edit", Toast.LENGTH_SHORT).show(); return true; case R.id.list01: Toast.makeText(TextView.this, "List", Toast.LENGTH_SHORT).show(); return true; case R.id.project: Toast.makeText(TextView.this, "Delete", Toast.LENGTH_SHORT).show(); return true; case R.id.create02: Toast.makeText(TextView.this, "Create", Toast.LENGTH_SHORT).show(); //setContentView(R.layout.addemployee); return true; case R.id.delete02: Toast.makeText(TextView.this, "Delete", Toast.LENGTH_SHORT).show(); return true; case R.id.edit02: Toast.makeText(TextView.this, "Edit", Toast.LENGTH_SHORT).show(); return true; case R.id.list02: Toast.makeText(TextView.this, "List", Toast.LENGTH_SHORT).show(); return true; case R.id.joinproject02: Toast.makeText(TextView.this, "List", Toast.LENGTH_SHORT).show(); return true; case R.id.removeproject02: Toast.makeText(TextView.this, "List", Toast.LENGTH_SHORT).show(); return true; } return (super.onOptionsItemSelected(item));} } Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.