Aktivieren/Deaktivieren, item-Auswahl im listview in multiple-choice-Modus

Habe ich ein listview-registriert für Kontext-Menü im multiple-choice-Modus:

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

Das problem ist, dass nicht alle Elemente meiner Ansicht sollte auswählbar sein, nur diese zeigt ein spezielles Symbol zur Auswahl zur Verfügung. Ich weiß nicht, wie das umzusetzen, habe ich ein OnItemLongClickListener:

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;
        }
    }); 

aber dieser listener wird nicht aufgerufen.

Ich habe auch versucht, eine OnLongClickListener auf die Reihe-Blick in den adapter, aber tut das normal das klicken ist auch zu deaktivieren, auch wenn Kontext-Menü wird geschlossen (nicht im Auswahl-Modus).

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

//}

  • Wollen Sie die Zeile mit dem speziellen Symbol wählbar oder über ein Kontextmenü (oder beide)?
  • Ich brauche alle Zeilen anklickbar um zu öffnen ein Eigenschaften-Ansicht, sondern nur die Zeilen mit dem speziellen icon wählbar mit einem langen Klick (mehrfache Auswahl im Kontext-Menü). Sobald die Mehrfachauswahl gestartet wurde, werden nur die Zeilen mit dem speziellen Symbol kann angeklickt werden, um fügen Sie darunter auf den Korb. Die Besondere Ikone zeigt tatsächlich, dass das Element verfügbar ist, legt es in den Korb und, dass es nicht bereits in ihm, in anderen Worten, alle Elemente sind anklickbar, um zu sehen, Ihre details, sondern nur die nicht bereits im Warenkorb ausgewählt werden, für die man Sie in den Korb. Hoffe ich komme klar.
InformationsquelleAutor jmhostalet | 2013-01-21
Schreibe einen Kommentar