Listview Item dynamisch ändern

  • Hi,


    ich habe ein Layout für ein ListView Item, welches 4 TextViews beinhaltet. Das Item selber hat RelativeLayout, so das sich die TextViews auch immer super an den Text anpassen. Soweit alles schön.
    Jetzt kann es aber vorkommen, dass es für ein TextView gar keinen Text gibt. Hier wäre es schön, wenn das TextView dann auch keinen Platz wegnimmt. Ich habe einfach mal im getView des Adapters ein textView.setHeight(0) gemacht. Das funktioniet dann auch ganz prächtig. Allerdings wird die Zelle ja u.U reused und dann muss ich die Höhe wieder setzen, da ich sonst keinen Text bekomme. Ich weiß die Höhe aber leider nicht.
    Alternativ könnte ich das textView auch ganz aus dem layout herausnehmen aber wie bekomme ich es dann wieder rein? Ich könnte auch entsprechend viele verschiedene Layouts erstellen und immer das benötigt Laden, nur wenn ich dann für alle 4 TextViews alle Kombinationen erstellen würde, wäre das ja auch nicht gerade elegant.


    Wie würdet Ihr das lösen?


    Gruß


    Claus

  • Du kannst das View mit ViewGroup.removeView(View) rauswerfen und via ViewGroup.addView(View, LayoutParams) neu reinhängen.
    Deine Referenzen sind dann allerdings hinfällig, findViewById(Int) wird höchstens noch laufen, wenn Du dieselbe ID erneut vergibst und dann neu liest.


    Ich würde aus lauter Gewohnheit alle möglichen Zustände als eigenes Cell Layout anlegen und dann dynamisch laden.


    Rein, Raus, Hin und Her funktioniert unter Android meiner Meinung nach nicht so elegant.

    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!«

  • Marco warum so umständlich?
    Es sollte doch genügen wenn man programmatisch überprüft ob text zur verfügung steht, wenn nicht, view.setVisibility(View.GONE) und wenn du die TextView dann wieder einblenden willst einfach view.setVisibility(View.VISIBLE)

  • Marco warum so umständlich?


    aus lauter Gewohnheit


    ^^
    Setzt sich das visible Tag bis zum Layout des Superviews durch, oder hat das Ding dann immer noch die ursprüngliche Höhe und unten dran eine Lücke?

    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!