我不完全确定这是可能的,但我有几个使用listview适配器的活动。我想在listview项目上实现一个上下文菜单,我可以使用
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
vi.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
menu.setHeaderTitle(sf.checkBusinessTitle(businessList.getBusinessName()));
....rest of context menu creation code...
}
}
如何从适配器创建onContextItemSelected?
编辑:我收到错误“MyAdapter类型的onContextItemSelected方法(MenuItem)必须覆盖或实现超类型方法”如果我将以下内容添加到适配器:
@Override
public boolean onContextItemSelected(MenuItem item){
}
任何帮助都将不胜感激。
答案 0 :(得分:1)
与ArrayAdapter
实施之外的方式完全相同。在getView()
方法中,只需设置:
your_context.registerForContextMenu(convertView); // Supposing convertView is your View
并在onContextItemSelected
中定义Activity
覆盖方法,而不是ArrayAdapter
扩展名。