我对Android比较陌生。下面是部分代码:获取所选项目的位置...?
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Note selectedName = adapter.getItem(position);
adapter.removeItem(selectedName);
正如你看到的,位置是指所选项目的位置。那很好。但我宁愿长点击:
public boolean onContextItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.ctxmemu_delete:
** I need to use POSITION mentioned above! **
但是这种方法的getSelectedItemPosition
返回位置-9995845834585(或不服这样的) 或者提示错误(不能将光标移动到的位置 - 我用SQL在我的应用)
如何正确地从列表中获取位置? P.S.对不起,我的英语不好:(
UPD: 我已经添加到了我的SQL适配器:
public int getPosition(){
return cursor.getPosition(); }
和修改:
case R.id.ctxmemu_delete:
int position = adapter.getPosition();
Note seln = adapter.getItem(position);
adapter.removeItem(seln);
return true;
现在它的作品...但我认为它是如此丑陋...
为什么你不使用onListItemLongClick监听器而不是上下文菜单? – Swayam
Kondra检查我的答案:)它应该可以解决你的问题。 – Sajmon
我现在想了解它.. – Groosha