2012-03-25 6 views
0

Ich werde quickaction für eine Listview verwenden. Ich benutze dieses Beispiel für-Schnell: http://www.londatiga.net/it/how-to-create-quickaction-dialog-in-android/Wie listview itemid auf eine schnelle Aktion

Aber wie ich die ID von meinem ListViewItem bekommen zu verwenden, um es in setOnActionItemClickListener/onItemClick?

Hier ist der Code:

ListView mList = (ListView) findViewById(android.R.id.list); 
mList.setAdapter(entryAdapter); 

//Add action item 
ActionItem addAction = new ActionItem(); 
addAction.setTitle("Add"); 
addAction.setIcon(getResources().getDrawable(R.drawable.ic_add)); 

//Show action item 
ActionItem accAction = new ActionItem(); 
accAction.setTitle("Accept"); 
accAction.setIcon(getResources().getDrawable(R.drawable.ic_accept)); 

final QuickAction mQuickAction = new QuickAction(this); 

mQuickAction.addActionItem(addAction); 
mQuickAction.addActionItem(accAction); 


//setup the action item click listener 
mQuickAction.setOnActionItemClickListener(new QuickAction.OnActionItemClickListener() { 
    public void onItemClick(QuickAction quickAction, int pos, int actionId) { 
    if (pos == 0) { //Add item selected 
     Toast.makeText(getApplicationContext(), "Add item selected", Toast.LENGTH_SHORT).show(); 
    } else if (pos == 1) { //Accept item selected 
     Toast.makeText(getApplicationContext(), "Accept item selected", Toast.LENGTH_SHORT).show(); 
    } 
    } 
}); 

mList.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    mQuickAction.show(view); 
    } 
}); 

Antwort

1

Sie können ID und Position in dem onItemClickListener bekommen und es in einer Variablen speichern: diese hinzufügen, bevor onCreate:

int myId; 

und Ihre onItemClickListener, dies ändern:

mList.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    myId=id; 
    mQuickAction.show(view); 
    } 
}); 

dann können Sie Verwenden Sie myId als ID des angeklickten Elements in Ihrem Code.

0

Wenn Sie das Listview erstellt, müssen Sie es mit einer Liste oder Array von Elementen zur Verfügung gestellt haben, um Ihre Daten anzuzeigen. Die onItemClick-Methode gibt die Nummer des Elements an, auf das Sie geklickt haben. Sie können genau herausfinden, auf welches Element geklickt wurde, indem Sie Ihre ListView-Hintergrunddatenstruktur für die Daten an dieser Position abfragen.

Verwandte Themen