Я пытаюсь использовать ContextMenu. Я успешно сделал это для простого ListActivity с использованием SimpleCursorAdapter.
Продолжая, я хочу заменить SimpleCursorAdapter на CursorAdapter, но при этом сохранить поведение ContextMenu, поэтому я добавил две обязательные функции переопределения bindView и newView
public View newView(Context context, Cursor cursor, ViewGroup parent) {
View view = mLayoutInflater.inflate(R.layout.check_row, parent, false);
registerForContextMenu(view);
return view;
}
Обратите внимание на registerForContextMenu, который заменяет registerForContextMenu (getListView ()) в методе onCreate объекта ListActivity. Я нашел это необходимым, чтобы получить вызов onCreateContextMenu (...)
Все это работает (строки, созданные с ожидаемыми виджетами, обратные вызовы для них работают и т. Д. И т. Д.), За исключением того, что параметр ContextMenuInfo, предоставленный для onCreateContextMenu (...), теперь является нулевым - мешает мне получить доступ к rowId.
Есть ли еще один трюк для выполнения - возможно, в методе bindView (...) CursorAdapter?