Button Hintergrund ändern wenn selected/clicked?

  • Hallo ich möchte, dass mein Button abc wenn er angeklickt ist seine Farbe wechselt.
    Im Internet gibt's eigentlich fast immer die selbe Antwort:


    Eine xml in den drawable rein:


    background.xml




    <?xml version="1.0" encoding="UTF-8"?>
    <selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:state_pressed="false" android:background="#FFFFFF"/>
    <item android:state_focused="true" android:state_pressed="true" android:background="#FFFFFF" />
    <item android:state_focused="false" android:state_pressed="true" android:background="#FFFFFF"/>
    <item android:background="#000000" />

    </selector>


    und dann in den layouts:



    <Button

    android:background="@drawable/background"

    />



    Ich habe das genau so gemacht, aber das klappt nicht. es gibt zwar kein error, aber wenn ich die app starte, schließt sich diese wieder.... folgende Fehlermeldung kommt im Debuger: activitythread.performlaunchactivity(activitythread$activityclientrecord intent)
    Das kommt immer, wenn etwas mit den XML nicht stimmt :S


    Was mache ich falsch?Überall ist die obige Methode empfohlen worden, und bei vielen soll es klappen - nur bei mir nicht

  • Der Weg funktioniert eigentlich auch so.


    Nur ist mir persönlich der Wert android:background bei den Drawable XML noch nie untergekommen, lediglich android:drawable.
    Eventuell hast Du auch das background.xml einfach in den falschen Ordner gepackt. Gemäß Dokumentation gehört das nämlich in den res/color Ordner, nicht in den res/drawable.


    Kopier mal Deine layout.xml und Deine background.xml rein.
    Und den genauen Wortlaut des Fehlers, aus dem hervor geht, dass was mit Deiner XML nicht stimmt.
    Lieber drei Zeilen zu viel als eine zuwenig. ;)

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

Jetzt mitmachen!

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