Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Spinner - switch case Problem

Das Thema "Spinner - switch case Problem" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 30.06.2011, 15:42   #1 (permalink)
Neuer Benutzer

Registriert seit: 27.06.2011
Beiträge: 9
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Standard Spinner - switch case Problem

Hallo,

ich möchte gern einem Spinner 3 verschiedene Comparatoren zuweisen über eine switch-case Anweisung.

Kann mir bitte jemand sagen, was muss ich im Quelltext verändern, dass bei der Spinnerauswahl, einer der 3 Comperatoren durchgeführt wird?

Danke im vorraus.


Code:
....
 
public
class SeenAtlas extends ListActivity implements OnItemSelectedListener {
private static final Comparator<RSSItem> tComparator = new Comparator<RSSItem>() {
public int compare(RSSItem arg0, RSSItem arg1) {
String t1 = ((RSSItem) arg0).getTitle();
String t2 = ((RSSItem) arg1).getTitle();
return t1.compareTo(t2);
}; };
private static final Comparator<RSSItem> dateComparator = new Comparator<RSSItem>() {
public int compare(RSSItem arg0, RSSItem arg1) {
String date1 = ((RSSItem) arg0).getPubDate();
String date2 = ((RSSItem) arg1).getPubDate();
return date1.compareTo(date2);
}; };
private static final Comparator<RSSItem> desComparator = new Comparator<RSSItem>() {
public int compare(RSSItem arg0, RSSItem arg1) {
String des1 = ((RSSItem) arg0).getDescription();
String des2 = ((RSSItem) arg1).getDescription();
return des1.compareTo(des2);
}; };
private List<RSSItem> items;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); loadFeed();
}
// XML Parsen
private void loadFeed() {
try {
FeedParser parser =
new FeedParser(this.getResources().getXml(R.xml.badeseenliste));
long start = System.currentTimeMillis();
items = parser.parse();
long duration = System.currentTimeMillis() - start;
Log.i("test", "Parser duration=" + duration);
final Spinner spinner = (Spinner) findViewById(R.id.sp_sortieren);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.sp_anzeige, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter);
final List<String> titles = new ArrayList<String>(items.size());
for (RSSItem item : items) {
titles.add(item.getTitle() + "\n" + item.getDescription() + " \t (" + item.getPubDate()+ ")");
}
this
.setListAdapter(new ArrayAdapter<String>(this, R.layout.row, titles));
ListView lv = getListView(); lv.setOnItemClickListener(new OnItemClickListener(){
publicvoid onItemClick(AdapterView<?> a, View v, int position, long id){
Intent intent = new Intent(SeenAtlas.this, Detailansicht.class);
intent.putExtra("Name",String.valueOf(items.get(position).getTitle())); intent.putExtra("Datum",String.valueOf(items.get(position).getPubDate())); intent.putExtra("Temp",String.valueOf(items.get(position).getDescription())); intent.putExtra("ID",String.valueOf(items.get(position).getGuid()));
startActivity(intent); } });
} catch (Throwable t) { Log.e("SeenAtlas", t.getMessage(), t); }
}
public void onItemSelected(AdapterView<?> adapter, View v, int i, long lng) {
switch (i){ case 0: Collections.sort(items, tComparator); break; case 1: Collections.sort(items, dateComparator); break; case 2: Collections.sort(items, desComparator); break; default: } }
publicvoid onNothingSelected(AdapterView<?> parent) { // Do nothing. }
}
}


Geändert von DeNiXP (01.07.2011 um 11:38 Uhr)
DeNiXP ist offline   Mit Zitat antworten
Alt 01.07.2011, 11:40   #2 (permalink)
Neuer Benutzer

Registriert seit: 27.06.2011
Beiträge: 9
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Standard AW: Spinner - switch case Problem

Hallo,

hat den keiner eine Idee wie ich dies umsetzen kann?


MfG
DeNiXP ist offline   Mit Zitat antworten
Alt 01.07.2011, 11:49   #3 (permalink)
Android Experte
 
Benutzerbild von DieGoldeneMitte

Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
Standard AW: Spinner - switch case Problem

Wenn ich das richtig sehe, fehlt da nach dem sort() lediglich ein notifyDataSetChanged() an den Adapter.
__________________
Kein Support via PN/eMail. Bitte das Forum benutzen - dort haben alle etwas davon.
Bei Entwicklerfragen zu abstürzenden Apps bitte immer die Ausgabe von LogCat posten.
Tipp: Zum "Danke" sagen gibt es einen Button.
DieGoldeneMitte ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Spinner problem lilpac Android App Entwicklung 0 16.06.2011 18:18
Biete: Case-Mate Tough Case für Samsung Galaxy S i9000 bugz Beendete Inserate (Marktplatz-Archiv) 9 13.06.2011 12:36
[Gelöst] WLAN/HSDPA Problem (ungewollter Switch) GalaxySUser Samsung Galaxy S (I9000) Forum 2 09.06.2011 21:40
Suche ähnliches Case wie Case-Mate HYBRID Tough nica Zubehör für Samsung Galaxy S 16 13.12.2010 18:34
Spinner Problem oliver.s Android App Entwicklung 3 09.12.2010 23:19




Du liest gerade: "Spinner - switch case Problem" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.