我需要长时间点击行处理列表视图中的选定行,但由于使用菜单我无法覆盖onclicklistener。我想这样做:
listView.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
taskPosition = listView.getSelectedItemPosition();
return true;
}
});
但它不起作用。任何人都可以帮助我吗?
答案 0 :(得分:2)
我得到了listView.getSelectedItemPosition()的值;等于-1
当然。通常不选择行。仅当用户使用指点设备(D-pad,轨迹球等)时才会选择行。
我需要在listview上处理选择longclick并在onContextItemSelected中使用它来执行操作
不,你没有。您可以使用上下文菜单或使用带有窗口小部件的长按侦听器。你不要同时使用它们。
如果您要确定从onContextItemSelected()
,here is a sample project长按哪个行,将为您演示,如果您的适配器是ArrayAdapter
。如果您使用的是CursorAdapter
,here is a different sample project,则会为您演示此内容。