我有一个ListView与一些元素。我想检索运行上下文菜单的元素的id(通过长按)。但下面的代码:ListView元素上下文菜单
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_adapter);
/*non relevant code was omitted*/
registerForContextMenu(this.getListView());
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo info){
Log.i("view", String.valueOf(v.findFocus().getId()));
super.onCreateContextMenu(menu, v, info);
getMenuInflater().inflate(R.menu.activity_adapter_context_menu, menu);
}
返回总是相同的id,即ListView视图的id,而不是ListView元素ID。我尝试了一些其他选项,但没有找到解决方案。如何整理出来?
我认为你需要实现onListItemClick因为列表视图与立场工作时间不IDS –
尝试'registerForContextMenu()'每一个元素?看来你只注册了listview本身,而不是孩子,所以这就是回应。 – Geobits
@Geobits不幸的是,它不工作。即使我尝试为每个孩子注册,但是在注册或不注册父级ListView的情况下,它只会在前一种情况下看到父级,或者在后一种情况下看不到任何情况。 – vlattson