Kein Zugriff auf eine Resource in XML Datei

  • Hallo an Alle,


    ich habe mal wieder ein kleines Problem und ich denke ihr könnt mir helfen.
    In meiner App erzeuge ich eine Liste:

    Code
    adapter = new ArrayAdapter<String>(this,
    			R.layout.kundendokumentearchiv, R.id.text1, list);
    
    
    		setListAdapter(adapter);


    Die dazugehörende XML:

    "


    Die Liste wird auch ohne Probleme angezeigt aber ich möchte die Hintergrundfarbe im LinearLayout "llArchiv" ändern
    und das ist das Problem. Hier mein Zugriff:

    Code
    LinearLayout ll = (LinearLayout) findViewById(R.id.llArchiv);
    	ll.setBackgroundResource(mittelColor);


    Dabei erhalte ich eine NPE da das Objekt ll = NULL ist. Ich habe auch kein Zugriff auf das TextView in der XML.
    Wo mache ich einen Fehler?


    Gruß

  • Hi oldwarrior,


    1. wenn jedes Listitem diesen Hintergrund haben soll setzte einfach die Hintergrundfarbe in der XML.

    Code
    <LinearLayout
        	android:id="@+id/llArchiv"
        	android:layout_width="match_parent"
        	android:layout_height="match_parent"
            android:background="@color/hintergrundfarbe"


    2. Falls du die Hintergrundfarbe individuell setzen möchtest musst du einen eigen ArrayAdapter erstellen und die Funktion "getView" über schreiben.
    Keine Angst hörst sich schlimmer an als es ist. HIer findest du ne Anleitung.


    3. Ach so falls die TextView das einzige ist aus dem das ListItem besteht könntest du sogar eins der LinearLayoutes weglassen bzw wenn du die breite des TextView auf Fill_parent setzt müsste es eigentlich auch ganz ohne LinearLayout gehen.


    mfg Titus

  • Hallo titus,


    danke für deine Antwort.
    Ich stelle derzeit meine App auf ein dynamisches Layout um, damit der Anwender die Möglickeit hat seine eigene Farbgestaltung zu wählen. Deshalb kann ich natürlich nicht die Farben in der xml festschreiben.
    Ich habe diese Möglichkeit auch schon in allen Programmteilen fertig gestellt ausser in Diesem.
    Danke für den Tip mit dem ArrayAdapter. Ich hatte es auch bereits geschafft damit auf mein TextView zuzugreifen aber es änderte nicht die Farbe.
    In den anderen ListViews in meiner App arbeite ich mit dem SimpleCursorAdapter den ich mit Datenbankdaten füttere. Dort habe ich mit der Farbänderung keine Probleme. Kannst du mir den Unterschied eventuell erklären?


    Danke

Jetzt mitmachen!

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