Android Layout-Probleme: View programmatisch erweitern (addContentView)

tfa

Top Contributor
Ich versuche mich gerade an Android-Layouts. Ein normales LinearLayout (R.layout.main) soll programmatisch um eine beliebige Anzahl Views erweitert werden.
Das Main-Layout besteht nur aus einem Textview mit dem Inhalt "Überschrift":

[XML]<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:eek:rientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="8dip"
>
<TextView
style="@style/main_title"
android:text="@string/main_title"
/>
</LinearLayout>
[/XML]

Im Java-Code erzeuge ich zwei Buttons und möchte diese in die Content-View der Main-Activity einfügen:
Java:
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;

public class Main extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Button button1 = new Button(this);
        Button button2 = new Button(this);
        button1.setText("Huhu1");        
        button2.setText("Huhu2");
        
        LinearLayout ll = new LinearLayout(this);
        ll.setOrientation(LinearLayout.HORIZONTAL);
        ll.addView(button1);
        ll.addView(button2);
        
        LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
        addContentView(ll, params );
    }
}
Das funktioniert auch, nur hängen die Knöpfe ganz oben im Layout und verdecken die Überschrift (s.u.).
Irgendwie müsste man hier mit RelativeLayout arbeiten und einen Bezug zum Main-Layout angeben. Aber wie funktioniert das? Oder gibt es eine andere Möglichkeit das Problem zu lösen?

android_layout.png
 

SirBaros

Bekanntes Mitglied
Hallo also habe ich das richtig verstandne du willst zu dem vorhandenen Layout mit den zwei Buttons und der Ueberschrift noch mehrere TextViews oder andere Steuerelemente hinzufuegen. Jedoch setzen die sich momentan dann ueber die Ueberschrift?

Du willst Sie unter die Buttons also sprich in eine neue Zeile platzieren.
 

tfa

Top Contributor
Das statische, in der XML-Datei definierte Layout beinhaltet nur die Überschrift. Die beiden Knöpfe werden im Java-Code angelegt und sollen unter der Überschrift erscheinen. Mehr will ich erstmal nicht.
 

MarderFahrer

Gesperrter Benutzer
Also, ich bin mir nicht sicher in wie weit man zwei Layouts, welche beide "FILL_PARENT" benutzen gleichzeitig anzeigen lassen kann. Möglich, dass das der Grund ist, warum beide "oben links" platziert werden.

Wenn du aber nicht unbedingt zwei Layouts benutzen musst, könntest du versuchen, die Buttons auf das bereits vorhandene Layout zu platzieren, ohne ein weiteres Layout Objekt zu erzeugen.

Ein Versuch wäre folgendes:
Java:
//Damit sollte man an das bereits vorhandene Layout Objekt rankommen
LinearLayout layout = (LinearLayout) View.inflate(this, R.layout.main, null);

Was passiert, wenn du das anstelle deiner Zeile 19,20 machst? Ich hätte jetzt gesagt, dass du dann mittels
Java:
layout.addView(button1);
deinen neuen Button zur geladenen R.layout.main hinzufügen würdest. Kann ich im Moment aber nicht testen. Ist nur geraten.
 

SirBaros

Bekanntes Mitglied
Ist klar warum, du hast in der XML Datei ein LinearLayout fuer das ganze Frame. In diesem LinearLayout hast du die Uberschrift drinnen. Was dein Fehler ist, du tust zwar in der Java Klasse ein neues LinearLayout fuer die Buttons erzeugen, aber du hast vergesen dieses Layout dem grossen LinearLayout des Frame hinzuzufuegen. Dh. du setzt momentan dein selbsterzeugstes Layout auf das Frame Layout deswegen das Verhalten.
 

SirBaros

Bekanntes Mitglied
[Java]
package com.android.test;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;

public class s extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Button button1 = new Button(this);
Button button2 = new Button(this);
button1.setText("Huhu1");
button2.setText("Huhu2");

LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayout1);

LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);

LayoutParams params2 = new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);

LinearLayout l = new LinearLayout(this);
l.setOrientation(LinearLayout.HORIZONTAL);


layout.addView(l, params2);
l.addView(button2, params);
l.addView(button1, params);
}
}[/Java]

[Java]
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:eek:rientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/linearLayout1">

<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="ASdad"/>

</LinearLayout>[/Java]
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Probleme mit xml-Layout Android & Cross-Platform Mobile Apps 2
F Layout mit listViews (Scrolling-Probleme) Android & Cross-Platform Mobile Apps 2
W Ausklappbares Verlängertes XML Layout Android & Cross-Platform Mobile Apps 6
W Android Wieso kann ich keine ListView mehr zum Layout hinzufügen? Android & Cross-Platform Mobile Apps 1
A Android-Studio: 2. Layout nach kurzer Zeit aufzeigen Android & Cross-Platform Mobile Apps 2
S Android Layout - welchen Typ? Android & Cross-Platform Mobile Apps 3
B Android Multiple Screens- layout-sw600dp Android & Cross-Platform Mobile Apps 1
D Android Layout für alle Geräte Android & Cross-Platform Mobile Apps 4
W Android Designfrage / Layout / Activity / Fragments Android & Cross-Platform Mobile Apps 2
B Layout Bibliothek Android & Cross-Platform Mobile Apps 8
B Android Spiele-Layout umsetzen Android & Cross-Platform Mobile Apps 5
O zurück Schaltfläche in voriges Layout Android & Cross-Platform Mobile Apps 5
B Erste Android-App: setContentView(R.layout.main) funktioniert nicht Android & Cross-Platform Mobile Apps 6
D Android Viele Buttons und ein Layout Android & Cross-Platform Mobile Apps 6
M Android Game, welche Layout? Android & Cross-Platform Mobile Apps 2
B Eigene View xml-Layout einbinden Android & Cross-Platform Mobile Apps 1
R Android Layout Bild mit Text Android & Cross-Platform Mobile Apps 13
K Rand bei (Table,Relative,Linear)Layout - wie bekomme ich ihn weg? Android & Cross-Platform Mobile Apps 3
D Android Layout Problem Android & Cross-Platform Mobile Apps 2
P Android Nach Animation Layout auf alten Platz Android & Cross-Platform Mobile Apps 3
T Android Layout Update Animation Android & Cross-Platform Mobile Apps 3
W XML Layout: wann wird geladen? Android & Cross-Platform Mobile Apps 10
G Fehlermeldung: "No XML content. Please add a root view or layout to your documet." Android & Cross-Platform Mobile Apps 7
N Android xml - graphical layout nur noch weiß :o Android & Cross-Platform Mobile Apps 4
T Android Merkwürdigkeiten im Layout Android & Cross-Platform Mobile Apps 7
JAVAnnik Android Layout ändern in Thread Android & Cross-Platform Mobile Apps 2
A Android Browser öffnen, XML-GUI-Layout Android & Cross-Platform Mobile Apps 23
A Absolute Layout soll auf jedem Gerät gleich aussehen Android & Cross-Platform Mobile Apps 4
S Android Layout Problem mit fill_parent Android & Cross-Platform Mobile Apps 5
J Android Probleme mit BLE-Notify Android & Cross-Platform Mobile Apps 2
J Android Probleme mit der Realm Datenbank Android & Cross-Platform Mobile Apps 3
J Android Probleme mit Navigation-Fragments? Android & Cross-Platform Mobile Apps 0
N Probleme mit custom dynamic ListView Android & Cross-Platform Mobile Apps 15
B Android Probleme mit Android Studio Android & Cross-Platform Mobile Apps 6
B Android Probleme mit Realm Datenbank Android & Cross-Platform Mobile Apps 2
B Android Probleme mit ArrayList Android & Cross-Platform Mobile Apps 6
J Android Probleme mit FileProvider Android & Cross-Platform Mobile Apps 1
B Probleme mit Firebase Authentication Android & Cross-Platform Mobile Apps 25
H Android Probleme mit SearchView in ArrayAdapter Android & Cross-Platform Mobile Apps 7
ATZENPOWER Android Probleme mit mobilen Daten via lte Android & Cross-Platform Mobile Apps 10
S Android Probleme beim Verbinden mit einer HTTPS Seite Android & Cross-Platform Mobile Apps 4
B Android Probleme mit RealmObject? Android & Cross-Platform Mobile Apps 1
M Android ExpandableListView merkwürdige Probleme Android & Cross-Platform Mobile Apps 20
F Probleme mit Google-Maps Android & Cross-Platform Mobile Apps 0
B Android Probleme mit ViewPager? Android & Cross-Platform Mobile Apps 5
J Probleme mit ViewPager und Activity Android & Cross-Platform Mobile Apps 1
B Android Probleme mit Eclipse? Android & Cross-Platform Mobile Apps 6
E MAVLINK Probleme Android & Cross-Platform Mobile Apps 1
C Android Probleme mit JavaMail Android & Cross-Platform Mobile Apps 5
B Android Probleme mit Facebook-SDK? Android & Cross-Platform Mobile Apps 1
D Android Probleme mit info/warning (1, 902) Android & Cross-Platform Mobile Apps 4
D Android Gallery Probleme Android & Cross-Platform Mobile Apps 3
B Probleme mit App auf Galaxy S3? Android & Cross-Platform Mobile Apps 13
S Hat der AVD-Manager Probleme mit GPS? Android & Cross-Platform Mobile Apps 5
P Android Probleme mit Spinner Android & Cross-Platform Mobile Apps 3
A Android Probleme mit Dialog Android & Cross-Platform Mobile Apps 4
U SQLite-Datenbank Probleme Android & Cross-Platform Mobile Apps 8
T Android Probleme bei Facebook Integration Android & Cross-Platform Mobile Apps 5
A Probleme mit ListView / ArrayAdapter Android & Cross-Platform Mobile Apps 3
A Probleme mit Form.isShown Android & Cross-Platform Mobile Apps 9
A Probleme mit Calendar auf dem Handy Android & Cross-Platform Mobile Apps 3
U Probleme mit der drawString Methode bei Canvas Android & Cross-Platform Mobile Apps 8
P Probleme mit dem Deployment Android & Cross-Platform Mobile Apps 3
P Probleme mit Streams Android & Cross-Platform Mobile Apps 4
C 2 kleine Probleme (Datei lesen, String durchsuchen) Android & Cross-Platform Mobile Apps 16
G Proguard Obfuscator macht Probleme Android & Cross-Platform Mobile Apps 2
P Probleme mit RMS Android & Cross-Platform Mobile Apps 5
R Android Zugriff auf view von MainActivity Android & Cross-Platform Mobile Apps 7
W Zur Laufzeit erstelltes MenuItem an eine View binden Android & Cross-Platform Mobile Apps 1
W Bild aus dem Internet in View bzw. ImageView laden (Fragment) Android & Cross-Platform Mobile Apps 2
J View Breite/Höhe bestimmen Android & Cross-Platform Mobile Apps 4
B Android In einem View der ersten Activity zweite anzeigen Android & Cross-Platform Mobile Apps 2
S Dynamische EditText View eingaben in Datenbank speichern Android & Cross-Platform Mobile Apps 0
V PopUp in gleicher View anzeigen Android & Cross-Platform Mobile Apps 1
M Android Suche Activity/View Namen Android & Cross-Platform Mobile Apps 1
R Android Warum (View view)? Android & Cross-Platform Mobile Apps 4
J Android neue View mit OnTouchListener Android & Cross-Platform Mobile Apps 0
R Problem mit View in ScrollView Android & Cross-Platform Mobile Apps 6
R Android Android.view Serializable ? Android & Cross-Platform Mobile Apps 3
M Android View zu View hinzufügen Android & Cross-Platform Mobile Apps 4
M Activity wechseln aus List View mit Android & Cross-Platform Mobile Apps 2
M Suche Name von View Komponente Android & Cross-Platform Mobile Apps 10
G canvas in view anzeigen Android & Cross-Platform Mobile Apps 10
E Android View zur Laufzeit hinzufügen Android & Cross-Platform Mobile Apps 4
N neuen view öffnen Android & Cross-Platform Mobile Apps 13
J id's von view komponenten werden nicht gefunden Android & Cross-Platform Mobile Apps 2
C Panel/View für Android Android & Cross-Platform Mobile Apps 3
G Dynamische View Inhalt -> Lagesensor Android & Cross-Platform Mobile Apps 3

Ähnliche Java Themen

Neue Themen


Oben