Android Sort Methode von ArrayAdapter überschreiben

  • Themenstarter Themenstarter Polle
  • Beginndatum Beginndatum
P

Polle

Gast
Hallo!

Eigentlich möchte ich nur die sort Methode eines ArrayAdapters überschreiben: ArrayAdapter | Android Developers

Diese hat die Signatur "sort(Comparator<? super T> comparator)", wenn ich jedoch folgendes in Eclipse versuche:
Java:
	@Override
	public void sort(Comparator<? super T> comparator) {
		
	}

bekomme ich einen Fehler. Anscheinend verwende ich die Signatur nicht korrekt, wie mache ich es richtig?

Danke!
 
Ist das alles? Wo überschreibst du denn die Methode? Erweitert deine Klasse den ArrayAdapter? Was wird dir als Fehlermeldung angezeigt im Eclipse etc...An der Signatur bzw, dem von dir gepostetem Code ist nichts verkehrt.
 
Hmm...danke erstmal schonmal, für deine Antwort.

Hier ist mein Code etwas ausführlicher:
Java:
import java.util.ArrayList;
import java.util.Comparator;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;


public class ItemArrayAdapter extends ArrayAdapter<Item> {
	private final Context context;
	private ArrayList<Item> listItems;

       ....

	@Override
	public void sort(Comparator<? super T> comparator) {
		super.sort(comparator);
                // additional stuff
		
	}
}

Bekomme einige Fehlermeldungen:

Zeile 18: Name clash, the method sort(Comparator<? super T>) of type ItemArrayAdapter has the same erasure as sort(Comparator<? super T>) of type ArrayAdapter<T> but does not override it; T cannot be resolved to a type; The method sort(Comparator<? super T>) of type ItemArrayAdapter must override a superclass method; Method breakpoint ...;

Zeile 19: The method sort(Comparator<? super T>) in ArrayAdapter<Item> is not applicable for the arguments (Comparator <capture#1-of ? super T>)
 
Naja du solltest dich noch einmal in das Thema Generics einlesen, versuchs derweil mal mit
Code:
	@Override
	public void sort(Comparator<? super Item> comparator) {
		super.sort(comparator);
	}
 
danke, eRaaaa. Das sollte ich wohl wirklich...

Schlingel, ja darfst du. Ich mache das nur, damit ich, wenn ich sortiere, zusätzlich noch ein Flag setzen kann, dass angibt, wie momentan die zugrunde liegende Liste sortiert ist.

Gruß,
Polle
 

Zurück
Oben