Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Button[] und addView(buttons[i]);

Das Thema "Button[] und addView(buttons[i]);" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 14.11.2011, 16:43   #1 (permalink)
Fortgeschrittenes Mitglied
 
Benutzerbild von IceClaw

Modell: Galaxy Nexus

Registriert seit: 16.10.2010
Beiträge: 461
Abgegebene Danke: 25
Erhielt 110 Danke für 62 Beiträge
Standard Button[] und addView(buttons[i]);

Hi,

ich lese eine Datenbank aus, wieviele Buttons (in einem array) erstellt werden.

Danach möchte ich die erstellen Buttons auf ein LinearLayout packen. (+ listener)..

Allerdings werden die Buttons ÜBERhAUPT nicht angezeigt..

Layout:
Zitat:
...

<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="72dip">

<LinearLayout
android:id="@+id/favoriten_layout"
androidrientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">
</LinearLayout>
</ScrollView>

...
dann der Quelltext dazu:
Zitat:
LinearLayout ll = (LinearLayout) findViewById(R.id.favoriten_layout);

Cursor id = myDB.rawQuery("select _id from "+ table_name + "", null);

while(id.moveToNext())
howLong = howLong + 1;

Button[] buttons = new Button[howLong];

for (int i=howLong; i==0; i--)
{
buttons[i] = new Button(this);
buttons[i].setText("hallo");
ll.addView(buttons[i]);
}
MfG Ice
__________________
Galaxy Nexus: Android 4.0.4 (ICS) - Stock
HP Touchpad: Android 4.0.4 (ICS) - CM9 Alpha 2.0 NIGHLTY (22.04.2012)
IceClaw ist offline   Mit Zitat antworten
Alt 14.11.2011, 16:51   #2 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Button[] und addView(buttons[i]);

hmm ich vermute:

dein linearlayout (und auch die scrollview) wird auf höhe 0 gesetzt, da es anfangs keine buttons gibt.

dann fügst du zwar die buttons hinzu, aber die höhe wird nicht angepasst. versuch mal layout_height="fill_parent"
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 14.11.2011, 17:08   #3 (permalink)
Fortgeschrittenes Mitglied
 
Benutzerbild von IceClaw

Modell: Galaxy Nexus

Registriert seit: 16.10.2010
Beiträge: 461
Abgegebene Danke: 25
Erhielt 110 Danke für 62 Beiträge
Standard AW: Button[] und addView(buttons[i]);

Hi,

funktioniert leider auch nicht.
Da du von einem Layout problem ausgehst, habe ich mal das Komplette layout angefügt..

Layout: Your code. Your site. Use it. - paste.org
(Die einrückung kommt von paste.org nicht von mir

MfG Ice
__________________
Galaxy Nexus: Android 4.0.4 (ICS) - Stock
HP Touchpad: Android 4.0.4 (ICS) - CM9 Alpha 2.0 NIGHLTY (22.04.2012)
IceClaw ist offline   Mit Zitat antworten
Alt 14.11.2011, 21:03   #4 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Button[] und addView(buttons[i]);

link geht nicht
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 14.11.2011, 22:00   #5 (permalink)
Fortgeschrittenes Mitglied
 
Benutzerbild von IceClaw

Modell: Galaxy Nexus

Registriert seit: 16.10.2010
Beiträge: 461
Abgegebene Danke: 25
Erhielt 110 Danke für 62 Beiträge
Standard AW: Button[] und addView(buttons[i]);

Arg oO

http://goo.gl/XePob

P.s.: Link geht, das weiterleiten von android-hilfe. de geht nicht richtig Also Copy und paste
__________________
Galaxy Nexus: Android 4.0.4 (ICS) - Stock
HP Touchpad: Android 4.0.4 (ICS) - CM9 Alpha 2.0 NIGHLTY (22.04.2012)
IceClaw ist offline   Mit Zitat antworten
Alt 15.11.2011, 07:51   #6 (permalink)
Fortgeschrittenes Mitglied

Modell: HTC Sensation

Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
Standard AW: Button[] und addView(buttons[i]);

nur mal so als hinweis: du initialisiert in jedem schleifendurchlauf dein array neu. mit cursor.getCount() kann man aber die anzahl der zeilen abfragen und damit hättest du deine array-größe schon im voraus und brauchst nur 1 mal zu initialisieren. ansonsten würde ich ne array-list nehmen und bei jedem durchlauf mein neues objekt erzeugen und reinstecken. aber das ist wohl geschmackssache ;-)

desweiteren glaube ich, daß du ein index out of bounds bekommen müßtest, weil du setzt howlong im 1. durchlauf schon auf 1, gehst aber in der i-schleife bis auf 0. da müßte wohl dann ein i>0 hin, sonst hast du hier schon mal 2 durchläufe, und das sollte eigentlich falsch sein. vielleicht irre ich mich auch, aber checks mal trotzdem :-)
Tom299 ist offline   Mit Zitat antworten
Alt 15.11.2011, 09:20   #7 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Button[] und addView(buttons[i]);

warum nutzt du teilweise px und dip?
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 15.11.2011, 09:27   #8 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: Button[] und addView(buttons[i]);

PHP-Code:
LinearLayout ll = (LinearLayoutfindViewById(R.id.favoriten_layout);

Cursor id myDB.rawQuery("select _id from "table_name ""null);

while(
id.moveToNext())
//howLong wird bei jedem Schleifendurchlauf um 1 erhöht
howLong howLong 1
//bei jedem Schleifendurchlauf wird buttons neu initialisiert
Button[] buttons = new Button[howLong];
//bei jedem Schleifendurchlauf wird das Array komplett neu gefüllt.
for (int i=howLongi==0i--)
{
buttons[i] = new Button(this); 
buttons[i].setText("hallo");
ll.addView(buttons[i]);

Wenn deine Datenbank sagt du hast 10 Buttons, dann bekommst du im ersten Durchlauf einen Button. Im zweiten Durchlauf 2 Buttons, dann 3... aber die würden sich addieren. Also: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55 Buttons.

Ganz davon ab, dass dein Code nicht einen Button anzeigt würde das auch nicht das Ergebnis geben was du erwartest wenn die Buttons angezeigt werden....
__________________
Follow/Add/Circle/Whatever me on Google+

Solitaire HD, ein Solitaire optimiert für Honeycomb.
the_alien ist offline   Mit Zitat antworten
Alt 15.11.2011, 15:09   #9 (permalink)
Fortgeschrittenes Mitglied
 
Benutzerbild von IceClaw

Modell: Galaxy Nexus

Registriert seit: 16.10.2010
Beiträge: 461
Abgegebene Danke: 25
Erhielt 110 Danke für 62 Beiträge
Standard AW: Button[] und addView(buttons[i]);

Zitat:
warum nutzt du teilweise px und dip?
Bin grade dabei alle px zu dip zu formatieren Anscheinend etwas übersehen..
(Spielt hier aber auch keine Rolle )

the_alien:
Ich sehe bei while(id.moveToNext()) keine geschweifte klammer!
=> NUR howLong kriegt in die while-schleife einen +1 , der Rest ist unabhängig von der Schleife!

MfG Ice

€dit:
Zitat:
Ganz davon ab, dass dein Code nicht einen Button anzeigt würde
<- genau hierdrum geht es in den Thread Eine Lösung?
__________________
Galaxy Nexus: Android 4.0.4 (ICS) - Stock
HP Touchpad: Android 4.0.4 (ICS) - CM9 Alpha 2.0 NIGHLTY (22.04.2012)
IceClaw ist offline   Mit Zitat antworten
Alt 15.11.2011, 15:21   #10 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Button[] und addView(buttons[i]);

deswegen macht man klammern um die schleife

auch wenns nur eine zeile ist
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei swordi für diesen Beitrag:
the_alien (15.11.2011)
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Bessere Soft Buttons - Button Savior (root only) nimrodity Archos Internet Tablet Forum 23 28.02.2011 15:23
[MWC 2011] Und es gibt sie doch: HTC Salsa und ChaCha mit Facebook-Buttons Lion13 Android News 0 15.02.2011 09:47
Ändern der Volume buttons in scroll buttons reaper2507 HTC Desire Forum 9 19.12.2010 16:41
Warum nur einen "Danke" Button und keinen "Blödsinn" Button? derbert Anregungen 10 30.04.2010 03:24
UnsupportedOperationException: addView(View, LayoutParams) b18a9n Android App Entwicklung 0 25.08.2009 18:56




Du liest gerade: "Button[] und addView(buttons[i]);" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.