Startschwierigkeiten: Mehrere "Views" als eine Komponente kapseln.

  • Antworten:3
Tim
  • Forum-Beiträge: 20

09.04.2011, 00:00:17 via Website

Hallo,
ich schreibe gerade meine erste Android App und bin mir nicht ganz sicher wie ich folgende Sache (sauber) umsetzen kann.

Mein Ziel ist es in einem Scrollview mehrere TableRows zu haben, in welcher jeweils ein TextView und zwei Button vorhanden sind. Nun möchte ich diese TableRows zur Laufzeit erstellen. Deshalb habe ich folgenden View erzeugt und die Klasse von View abgeleitet.
1<?xml version="1.0" encoding="utf-8"?>
2<View class="de.glgl.views.Question" xmlns:android="http://schemas.android.com/apk/res/android">
3<TableRow android:id="@+id/tableRow1" style="@style/Questions.Row" xmlns:android="http://schemas.android.com/apk/res/android">
4 <TextView android:id="@+id/textView1" android:text="@string/question1" style="@style/Questions.Text"></TextView>
5 <Button android:id="@+id/button1" android:text="@string/yes" style="@style/Questions.Button"></Button>
6 <Button android:id="@+id/button3" android:text="@string/no" style="@style/Questions.Button"></Button>
7</TableRow>
8</View>

1public class Question extends android.view.View {
2
3 public Question(Context context) {
4 super(context);
5 }
6
7 public Question (Context context, AttributeSet attrs)
8 {
9 super(context, attrs);
10 }
11}

Diese habe ich in meinem Layout (xml) zweimal fest eingebunden:
1<de.glgl.views.Question style="@style/Questions.Row"></de.glgl.views.Question>

Leider erscheinen diese beiden "Zeilen" beim Emulator nicht.

Was habe ich falsch gemacht bzw. verstanden?

P. S. für Android 2.2

Vielen Dank für eure Hilfe.

— geändert am 09.04.2011, 12:38:13

Antworten
Tim
  • Forum-Beiträge: 20

10.04.2011, 01:58:38 via Website

Die XML Datei wird gar nicht ausgelesen. Wenn ich in den Konstruktor etwas hinzufüge funktioniert alles wie gewünscht. Wie kann ich aber sagen, dass die XML als Layout für die Klasse genutzt werden soll?

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

10.04.2011, 07:37:24 via App

setcontentview?

swordiApps Blog - Website

Antworten
Tim
  • Forum-Beiträge: 20

10.04.2011, 11:53:27 via Website

Das kann ich nur in von android.view.Window abgleiteten Klassen nutzen (z. B. Activity). Ich habe aber von android.view.View abgeleitet. Dort gibt es leider so eine Methode nicht.

Ich verstehe das auch so, dass ich durch setContentView für ein Window ein View definiere und nicht für ein View ein View der in XML definiert ist, zuweise.

Mein Problem ist, bekannt zu machen, dass die XML File zu der spezifischen Klasse gehört.

Antworten