Android 来自listview适配器的上下文菜单
我不完全确定这是否可行,但我有几个使用listview适配器的活动。我想在listview项目上实现一个上下文菜单,我已经能够使用Android 来自listview适配器的上下文菜单,android,Android,我不完全确定这是否可行,但我有几个使用listview适配器的活动。我想在listview项目上实现一个上下文菜单,我已经能够使用 public View getView(int position, View convertView, ViewGroup parent) { View vi = convertView; vi.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { @Ov
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){
}
任何帮助都将不胜感激。与您在
ArrayAdapter
实现之外所做的完全相同。在getView()
方法中,只需设置:
your_context.registerForContextMenu(convertView); // Supposing convertView is your View
并在
活动
中定义onContextItemSelected
覆盖方法,而不是在ArrayAdapter
扩展中定义。因此我必须向每个使用listview处理onContextItemSelected的活动添加代码?无法获得一组代码来处理选择?不确定您试图做什么以及如何做,但如果您试图在多个活动上重用相同的列表视图
,则可能可以使用片段
,或者更容易地定义全局函数(在扩展应用程序
的类中)其中,您传递ListView
id,它将覆盖该视图的onContextItemSelected
方法。希望这有帮助!好的-将其放入片段中。。如何在OnContextItemSelected中的listview中检索项目的ID我想这就是您想要做的,请看一下: