2013-04-27 3 views
7

Ich möchte ein ausgewähltes Element aus einer ListView abrufen.Erhalte ein Element in der Listenansicht ausgewählt, wenn ich Kontext-Menü erzeuge

Wenn pflegen eine longclick ein Listview-Element ich das Kontextmenü erhalten (alles funktioniert), aber ich möchte wissen, wie zu erkennen, was Position, die der longclick gemacht

1e erklären die Einzelteile für ein Kontextmenü in

/res/menu/NAMEOFXMLUWANT.XML

wie diese

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

<item android:id="@+id/Abrir" 
     android:title="@string/Abrir" /> 
<item android:id="@+id/Editar" 
     android:title="@string/Edit" /> 
    <item android:id="@+id/Borrar" 
     android:title="@string/delete" /> 
<item android:id="@+id/Alarma" 
     android:title="@string/Alarma" /> 
</menu> 

2e-AFTER in der Klasse von u wollen den Kontext m tun enu in der Listenansicht

lista = me Listenansicht

lista = (ListView) findViewById(R.id.Lista); 
     final ArrayAdapter<String> adaptador = new ArrayAdapter<String>(
       this, android.R.layout.simple_list_item_1, ficheros); 
     lista.setLongClickable(true); 

     lista.setAdapter(adaptador); 

     lista.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { 

      @Override 
      public void onCreateContextMenu(ContextMenu menu, View v, 
        ContextMenuInfo menuInfo) { //here u set u rute 
       MenuInflater inflater = getMenuInflater(); 
       inflater.inflate(R.menu.activity_main, menu); 

      } 
     }); 

3e UND FINALY, u gesetzt u Onclick auf Artikel

@Override 
public boolean onContextItemSelected(MenuItem item) { 
    AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo) item 
      .getMenuInfo(); 
    switch (item.getItemId()) { 
    case R.id.Editar: 
    System.out.println("Editar"); 
    return true; 
    case R.id.Borrar: 
     System.out.println("borrar"); 
    return true; 
    case R.id.Abrir: 
     System.out.println("Abrir"); 
    return true; 

    case R.id.Alarma: 
     System.out.println("Alarma"); 
    return true; 

    default: 
    return super.onContextItemSelected(item); 
    } 
} 

für mich all das funktioniert :), aber ich will wählen Sie den Punkt erhalten mit dem langen Klick, thx für das Lesen ^^

+2

'menuInfo.posit ion' – Luksprog

+0

U RETTE ICH LEBEN <3 – CristianCV

Antwort

5

menuInfo.position mein Problem gelöst, mit freundlicher Genehmigung @Luksprog