2012-03-25 2 views
0

Я буду использовать quickaction для listview. Я использую этот пример для quickaction: http://www.londatiga.net/it/how-to-create-quickaction-dialog-in-android/Как получить listview itemid в quickaction

Но как получить идентификатор из моего ListViewItem использовать его в setOnActionItemClickListener/onItemClick?

Здесь Код:

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

ответ

1

Вы можете получить идентификатор и положение в onItemClickListener и сохранить его в переменной: добавить это до OnCreate:

int myId; 

и изменить свой onItemClickListener к этому:

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

, то вы можете используйте myId как идентификатор выбранного элемента в вашем коде.

0

При создании ListView, вы должны иметь при условии его со списком или массив элементов использовать для отображения данных. Метод onItemClick дает вам номер элемента, который вы нажали. Вы можете узнать, какой именно элемент был нажат, запросив структуру данных резервного копирования ListView для данных в этой позиции.

Смежные вопросы