0

I will use quickaction for a listview. I use this example for quickaction: http://www.londatiga.net/it/how-to-create-quickaction-dialog-in-android/

But how I get the ID from my listviewitem to use it in setOnActionItemClickListener / onItemClick?

Here the 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);
    }
});

2 Answers2

1

You can get id and position in the onItemClickListener and save it in a variable : add this before onCreate :

int myId;

and change your onItemClickListener to this :

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

then you can use myId as id of clicked item in your code.

AliSh
  • 10,085
  • 5
  • 44
  • 76
0

When you created the ListView, you must have provided it with a list or array of items to use to display your data. The onItemClick method gives you the number of the item you clicked. You can find out exactly what item was clicked by quering your ListView backing data structure for the data at this position.

Gaurav
  • 1,466
  • 3
  • 17
  • 24