Spinner ohne default wert

  • Hallo Community, ich habe ein Spinner mit Namen der mir bei Auswahl die Details dazu in ein Textview ausgibt. Nun habe ich das Problem das er schon beim laden den 1. Wert auswählt und das OnSelected ausführt was er natürlich nicht tun soll denn es soll standartmässig nichts ausgewählt sein.
    Wie genau stelle ich das an?

    Java
    spinner.setSelection(-1);


    funktioniert leider nicht...auf einer anderen Seite habe ich folgende Lösung gefunden weiss aber nicht wie ich diese anwenden soll.


    Wie mach ich das nun am elegantesten? Und wie nutze ich die Klasse mit meinem Spinner?
    Vielen Dank im Voraus
    Kamil

  • Hab jetz nicht drüber geschaut, aber prinzipiell kopierst du die Klasse in dein eigenes Projekt und dann benutzt du überall, wo du grade Spinner benutzt, den NoDefaultSpinner. ziemlich einfach eigentlich.

  • Danke für deine Antwort, hätte ich mir auch denken können. ;)
    hab das jetzt so gemacht:


    Java
    NoDefaultSpinner spinnerData = (NoDefaultSpinner) findViewById(R.id.spinnerData);


    Leider stürzt er an der Stelle ab wenn ich die App starte. Kannst du den Fehler erkennen?
    Danke
    Kamil

  • Also ohne die Fehlermeldung zu kriegen kann ich da leider nicht helfen. Wenn ich jetz raten müsste, dann stimmt die id nicht, weil das is das einzige an der Zeile, was ohne Kontext falsch sein könnte. ;)

  • Hi, also im Debugger zeigt er "Source not found". In der App selber steht "The application HelloWorld (process hello.world) has stopped unexpectly. Please try again".
    Die ID ist korrekt. Ich hoffe das reicht erstmal.
    Danke
    Kamil

  • DDMS? Ich denke du meinst den log? Falls nicht klär mich bitte auf :)
    Der log gibt folgendes aus


    paar zeilen tiefer

    Code
    08-26 10:12:35.561: ERROR/gralloc(51): [unregister] handle 0x53bd20 still locked (state=40000001)
    08-26 10:17:53.010: ERROR/gralloc(51): [unregister] handle 0x45e158 still locked (state=40000001)
  • Ja, scheinbar is das Widget mit R.id.spinnerData im Layout nen Spinner und kein NoDefaultSpinner, daher kann ers nicht auf die Klasse casten. Du musst den Spinner schon auch als NoDefaultSpinner anlegen, am besten ausm Code raus in dem Fall.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!