读书人

新手求教ListView的有关问题

发布时间: 2013-02-19 11:11:40 作者: rapoo

新手求教ListView的问题
请问各位大神,怎么在contextmenu中获取listview的item索引啊?(触摸屏长按)悲催的我只能用setItemOnLongClick加AlertDialog.Builder实现了……求各位大神帮忙解答!!
[解决办法]


// 上下文菜单
LV_MyList.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo)
{
AdapterContextMenuInfo acm = (AdapterContextMenuInfo)menuInfo;
SelectedIndex = acm.position - 1; //这里就可以得到listview的item索引
}
}

[解决办法]
完整的


// 上下文菜单
LV_MyList.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo)
{
AdapterContextMenuInfo acm = (AdapterContextMenuInfo)menuInfo;
SelectedIndex = acm.position - 1;
ListItem item = list_GroupItem.get(SelectedIndex);
if(item.mType == 0)
{
GroupInfo sg = (GroupInfo)list_GroupItem.get(SelectedIndex).mMap.get(-1);
menu.setHeaderIcon(android.R.drawable.ic_dialog_alert);
menu.setHeaderTitle("Title");
menu.add(0, Menu.FIRST + 2, 2, R.string.str_MarkasRead);
menu.add(0, Menu.FIRST + 3, 3, R.string.str_MarkasUnread);
menu.add(0, Menu.FIRST + 4, 4, R.string.str_GroupReset);
menu.add(0, Menu.FIRST + 5, 5, R.string.str_Delete);
}
}
});


/**
* 上下文菜单处理
*/
@Override
public boolean onContextItemSelected(MenuItem item) {
// TODO Auto-generated method stub
GroupInfo sg = (GroupInfo)list_GroupItem.get(SelectedIndex).mMap.get(-1);

switch (item.getItemId()) {
case Menu.FIRST + 2:
break;
case Menu.FIRST + 3:
break;
case Menu.FIRST + 4:
break;
case Menu.FIRST + 5:
break;
}

mAdapter_ListGroup.notifyDataSetChanged();
return super.onContextItemSelected(item);
}

读书人网 >Android

热点推荐