1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Robhuhn, 03.02.2011 #1
    Robhuhn

    Robhuhn Threadstarter Neuer Benutzer

    Hallo zusammen,

    mein Problem besteht darin, dass ich die hoehe der Zellen in einer ListView im nachhinein vergroeßer und dadurch bekomme ich in der ListView eine Scrollbar, wo keine sein muss. Die ListView hat auch mit hoeheren items genug Platz, um vollstaendig angezeigt zu werden.

    Ich habe also eine ListView und an das ItemLayout einen Selector gehaengt, um die regulaeren items zu definieren. Regulaer sind in meinem Fall alle außer dem letzten item.
    (list_item.xml)
    Code:
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/listItem"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        [B]android:background="@drawable/list_selector"[/B]>
    . 
    . 
    .
    
    In meinem CustomCursorAdapter fange ich das letzte Item in der Liste ueber den Cursor ab:
    Code:
    @Override
        public View newView(Context context, Cursor cursor, ViewGroup parent)
        {
            LayoutInflater inflater = LayoutInflater.from(context);
            View v = inflater.inflate(layout, parent, false);
    
            String title = cursor.getString(cursor.getColumnIndex("title"))
                    .toUpperCase();
            TextView textView = (TextView) v.findViewById(R.id.listTextView);
            textView.setText(title);
    
            if (cursor.isLast())
            {
                v.setBackgroundResource(R.drawable.list_selector[B]_last[/B]);
            }
    
            return v;
        }
    
    Der Selector (_last) setzt im Item einen background, der hoeher ist als die anderen und vergroessert den Content in der ListView, wodurch der Scroller entsteht.

    Ich suche schon seit Stunden nach einer Loesung und nichts von dem was ich probiert hab, hat funktioniert. Urspruenglich dachte ich an etwas wie "item.invalidate()", aber es blieb leider alles unveraendert.

    Kennt jemand von euch eine Loesung die ListView erneut rendern zu lassen oder manuell die Hoehe anzupassen?

    Vielen Dank schonmal ;)
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[GESCHLOSSEN] Random ListItem ausgeben funktioniert nicht mehr Android App Entwicklung 13.08.2017
[OFFEN] Bild per Intent an ListView übergeben und anzeigen Android App Entwicklung 13.08.2017
[ERLEDIGT] Welcher App Shortcut wurde geklickt Android App Entwicklung 19.07.2017
[ERLEDIGT] Wie kann ich feststellen ob eine SD-Karte migriert wurde Android App Entwicklung 23.06.2017
[GELÖST] Nach AS Update Fehler Error running app: Default Activity not found Android App Entwicklung 16.05.2017
[ERLEDIGT] Listview mit Datenbank über Custom ArrayList verbinden Android App Entwicklung 22.04.2017
[OFFEN] TextView verändert Inhalt nicht, nachdem anderer Map Marker angeklickt wird Android App Entwicklung 06.04.2017
[ERLEDIGT] Drawer mit scrollbarem Listview Android App Entwicklung 27.03.2017
ListView fix am unteren Bildschirmrand ausgeben Android App Entwicklung 01.03.2017
ProgressBar in ListView Android App Entwicklung 03.01.2017
Du betrachtest das Thema "ListView update nachdem Selector veraendert wurde" im Forum "Android App Entwicklung",