Włącz / wyłącz wybór pozycji w widoku listy w trybie wielokrotnego wyboru

Mam listę podglądu zarejestrowaną dla menu kontekstowego w trybie wielokrotnego wyboru:

private void initListViewForContextMenu(){
    log.d("FilesFragment", "initListViewForContextMenu()");
    ListView listView = getListView();
    listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
    listView.setMultiChoiceModeListener(new MultiChoiceModeListener() { ...

Problem polega na tym, że nie wszystkie elementy mojego widoku powinny być wybierane, tylko te, które pokazują specjalną ikonę, powinny być dostępne do wyboru. Nie wiem, jak to zaimplementować, zdefiniowałemOnItemLongClickListener:

getListView().setOnItemLongClickListener(new OnItemLongClickListener() {
    @Override
    public boolean onItemLongClick(AdapterView<?> adapter, View view, int position, long id) {
        Log.d("FilesFragment", "OnItemLongClickListener.onItemLongClick at pos " + position);
        PfmDocument doc = (PfmDocument)adapter.getItemAtPosition(position);
        if (doc.isOnBasket()){
            Log.d("FilesFragment", "OnItemLongClickListener.onItemLongClick detected in basket");
            ListView lv = (ListView) adapter;
            lv.setItemChecked(position, false);
        }
        return false;
        }
    }); 

ale ten słuchacz nigdy nie jest nazywany.

Próbowałem też ustawićOnLongClickListener do widoku wiersza w adapterze, ale to normalne kliknięcie jest również wyłączane, nawet gdy menu kontekstowe jest zamknięte (nie w trybie wyboru).

if (doc.isOnBasket()){
    rowView.setOnLongClickListener(new OnLongClickListener() {
    @Override
    public boolean onLongClick(View v) {
        return false; // do nothing, already in basket
    }
});

//}

questionAnswers(1)

yourAnswerToTheQuestion