ListView Itemgröße dynamisch zum Content

  • Antworten:2
  • Bentwortet
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

03.08.2014, 12:15:23 via Website

Hallo liebe Communiy,
können sich ListView einträge an ihren Content anpassen?
Wei wird das gemacht?

Bisher habe ich nur einen längeren Text in die LV geschreiben, deren Item höhe wird aber nicht angepasst:
image

Nun will ich dass sich die ListView Item höhe dem Content anpasst, da dieser dynamisch länger oder kürzer sein kann.

Das setzen der ListEinträge mache ich über einen ArrayAdapter, der mein Objekt News (die Daten für die Listeinträge) unterstützt.

    ArrayAdapter<News> simpleAdpt = new ArrayAdapter<News>(MainActivity.this,  android.R.layout.simple_expandable_list_item_1, spa ){
                    public View getView(int position, View view, ViewGroup viewGroup)
                    {
                        View v = super.getView(position, view, viewGroup);
                        News n = (News) this.getItem(position);
                        ((TextView)v).setText(n.getSpanned(n.header + "<br><br>" + n.shortText));
                         return v;
                    }
            };
            lv.setAdapter(simpleAdpt);

PS: Nicht wundern, n.getSpanned() bezieht seine Daten aus einer HTML.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

03.08.2014, 20:03:59 via Website

Also wenn man eine andere Android Standart List Vorlage nimmt funktioniert es:

    ArrayAdapter<News> simpleAdpt = new ArrayAdapter<News>(MainActivity.this,  android.R.layout.simple_list_item_1, spa ){

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.640

04.08.2014, 10:47:54 via App

simple_expandable_list_item_1 hat eine vom Android Framewrok vordefinierte höhe:

android:attr/listPreferredItemHeight

Deshalb wahrscheinlich

Ich sammle gerne Namen in meinem Death Note.

Samsung Galaxy Note 2<3 -> Samsung Galaxy Note 3 <3

Antworten