ich bin nun endlich von nem Scrollview auf ne ListView umgestiegen weil mir das hier mal empfohlen wurde. Ich habe eine Liste mit TableRows. In diesem TableRow liegen mehrere textboxen, ein image und eine Checkbox. ich habe also pro Eintrag eine Checkbox. Nun habe ich das Problem, dass wenn ich durch meine z.Z. 90 Einträge scrolle und einen Eintrag anhake, dass dann jeder 3. Eintrag nen Haken hat. Und wenn ich nen anderen eintrag anhake dann hat auch jeder 3. Eintrag nen Hacken. Sprich, wenn ich die aller ersten 3 Einträge anhake, sind plötzlich ALLE Einträge angehakt... Hat jemand ne Idee woran das liegen könnte? Kennt das jemand?
@OverrideprotectedvoidonCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.galerie);
filme =newArrayList<Film>();DatensaetzeLaden();Collections.sort(filme,newSortierNachName());ListAdapter boxAdapter =newFilmeAdapter(this, filme);// Get reference to ListView holderListView lv =(ListView)this.findViewById(R.id.galerieeintraege);// Set the ListView adapter
lv.setAdapter(boxAdapter);}
Nach einiger Zeit mal eine kleine Antwort. Rein vom code her kann ich das Problem nicht sehen, aber ich vermute, das du hier mit dem Fokus herum spielen musst. Vor einiger Zeit gab es hier im forum schon mal ein ähnliches Problem. Ich glaube, der ListView schluckt die events. Ich rate dir mal danach zu suchen.
Nach einiger Zeit mal eine kleine Antwort. Rein vom code her kann ich das Problem nicht sehen, aber ich vermute, das du hier mit dem Fokus herum spielen musst. Vor einiger Zeit gab es hier im forum schon mal ein ähnliches Problem. Ich glaube, der ListView schluckt die events. Ich rate dir mal danach zu suchen.
ohne mir jetzt den Code genau angeschaut zu haben etwas generelles: Was dzim meint, ist, dass es bei der Verwendung von ListView zu Problemen kommen kann, wenn sich innerhalb der ListView andere Views befinden, die Fokus erhalten können. Das sind z.B. EditText, CheckBox, RadioButton oder im Prinzip jede View, die clickable="true" ist.
Das liegt daran, dass ListView standardmäßig onListItemClick und onListItemLongClick listener bereitstellt. Kann ein anderes Elemente innerhalb einer ListView angeklickt werden/den Fokus erhalten, dann ergibt sich folgendes Problem: Woher soll ListView wissen, ob jetzt beispielsweise ein Haken in der CheckBox gesetzt werden soll oder onListItem(Long)Click (die sich beide auf die ganze ListView Reihe beziehen) bedient werden soll?
Daher die Anregung, mit dem Fokus zu experimentieren.
Ein paar Dinge, die mir beim überfliegen des Codes aufgefallen sind:
a) Deine Activity sollte ListActivity erweitern
Code:
extends ListActivity
, dann kannst Du in onCreate
Code:
setListAdapter(mAdapter);
benutzen und musst nicht über findViewById gehen (was evtl auch unsauber ist?).
b) In onCreate setzt Du FilmeAdapter als Adapter, postest aber hier den QuellCode für ListViewAdapter, der laut Quellcode nicht benutzt wird?
Veränderst/setzt Du irgendwo eigene Listener für Deine Checkboxen?