ListView-Inhalte werden nach dem Adapter-Update abgeschnitten

Ich habe eine Reihe von vertikal gestapelten Panels in meiner Benutzeroberfläche. Jedes Panel enthält eine ListView. Basierend auf der Benutzerinteraktion wird die Anzahl der Elemente in der ListView aktualisiert.

Mein Problem ist, dass, wenn ich die Anzahl der in der ListView angezeigten Elemente erhöhe, das enthaltene Bedienfeld nicht erweitert wird, um sie anzuzeigen. Stattdessen wird meine ListView nur mit einer Überblendung auf Schwarz abgeschnitten. Ich erstelle programmgesteuert jedes dieser gestapelten Bedienfelder - dies ist der Hauptteil der Erstellungsfunktion:

LinearLayout containingPanel = new LinearLayout(TestActivity.this);
containingPanel.setOrientation(LinearLayout.VERTICAL);

// create title
TextView titleText = new TextView(TestActivity.this);
titleText.setText("a title");
titleText.setGravity(Gravity.CENTER);
titleText.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));


// create dynamic list view of costs                
ListView dynamicContentListView = new ListView(TestActivity.this);
dynamicContentListView.setAdapter(new MyDynamicAdapter());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
params.weight = 1;
dynamicContentListView.setLayoutParams(params);

// build up GUI

containingPanel.addView(titleText); 

containingPanel.addView(dynamicContentListView);                        
return containingPanel;

Ich dachte, dass das Einstellen des Gewichts auf der ListView genug sein sollte, aber es ist nicht. Alle GUI-Aktualisierungen funktionieren einwandfrei - neue Elemente werden automatisch zu den Daten hinzugefügt, die den Adapter sichern, und die ListView wird ordnungsgemäß aktualisiert. Nachdem ich drei oder vier neue Elemente hinzugefügt habe, weigert sich das enthaltene Panel, sich selbst zu aktualisieren, und die neuen Elemente werden ausgeblendet.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage