Verwenden Sie die Ansicht, um mehrmals aufzublähen

8

Ich habe ein Problem damit, das gleiche TextView aufzublasen und wiederzuverwenden.
Es ist so, als ob er versucht, dieselbe Textansicht immer und immer wieder zu überschreiben, und das kann es nicht?

%Vor%

Hier ist die inflate_number.xml

%Vor%

Dies ist der Fehler, den ich bekommen habe, und es ist in Zeile: 51, was ist: row.addView(number);

%Vor%

    
JussT 18.07.2012, 21:05
quelle

4 Antworten

16

Sie fügen Ihrer Aktivität eigentlich keine Ansichten hinzu. Sie erstellen neue TableRows und fügen ihnen TextViews hinzu, aber Sie fügen die Zeilen nie zu etwas hinzu. Angenommen, Sie haben ein TableLayout in R.layout.days_monday_inflate , sollten Sie zuerst einen Verweis auf diese Ansicht erhalten ( TableLayout layout = (TableLayout)mainLayout.findViewById(R.id.my_table_layout_id) ) und dann jede Zeile zu diesem TableLayout hinzufügen:

%Vor%

Ich würde zwar empfehlen, Ihr Layout möglichst vollständig in XML einzurichten, es sei denn, es wird dynamisch benötigt. Wenn Sie nur ein TextView pro Zeile hinzufügen, sollten Sie besser ein LinearLayout verwenden, würde ich vorschlagen.

    
kcoppock 18.07.2012, 21:41
quelle
2

In meinem Fall funktionierte setTag (i) nicht. Was funktionierte, war das Ändern der ID nach dem Aufblasen des Layouts, aber bevor es der übergeordneten Ansicht hinzugefügt wurde:

%Vor%     
unify 28.10.2014 22:28
quelle
0

Sie versuchen, ein einzelnes TextView mehreren Zeilen hinzuzufügen, was Ihren Fehler verursacht. Sie müssen jedes Mal layout_number neu anlegen, um eine neue TextView zu erhalten.

Ich bin mir nicht sicher, was in Ihrer layout_number-Datei enthalten ist, aber basierend auf dem, was Sie hier haben, scheint es Ihnen besser zu sein, neue TextViews in Ihrer Schleife zu erstellen

%Vor%     
Matt Jordan 18.07.2012 21:13
quelle
0

Versuchen Sie Folgendes:

%Vor%     
azgolfer 18.07.2012 21:15
quelle

Tags und Links