Voglio ottenere un elemento selezionato da un listview.Ottieni un elemento selezionato in listview quando generi menu contestuale
Quando mantenere un longclick un elemento listview ottengo il menu contestuale (tutto funziona), ma voglio sapere come rilevare qual è la posizione che per il fatto longclick
1º dichiarare le voci di un menu contestuale in
/res/menu/NAMEOFXMLUWANT.XML
come questo
<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>
2º-AFTER nella classe di u vuole fare il contesto m enu in LISTA
lista me = ListView
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);
}
});
3º E finalmente, u impostare u onclick a voci
@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);
}
}
per me tutto questo funziona :), ma voglio ottenere selezionare la voce con la lunga click, thx per la lettura ^^
'menuInfo.posit – Luksprog
U SAVE ME LIFE <3 – CristianCV