Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo,
Wenn ich in Java mal 100 Buttons erstellen möchte, dann kann ich das schnell über eine Schleife machen (eventuell davor noch ein neues Layout setzen).
Wenn ich aber für Android programmiere, dann muss ich entweder jeden Button einzeln in xml beschreiben oder in dem Graphischen Layout jeden Button einzeln reinziehen, wenn ich dann 100 Buttons haben möchte, dann hab ich eine weile zu tun....
Irgendwie muss man also doch auch 100 Buttons mit einer for-Schleife und einem Layout erstellen können. Wie geht das?
also:
// view ist einer instanz von der Klasse View? also wie deklariere und initialisiere ich view dann?
Button einButton = new Button (...);
view.add(einButton, ...);
setContentView(view);
Du weisst schon, wie man eine Activity oder ein Fragment mit einem Layout befüllt, oder? Wenn nein, dann schau dir das erst an, denn es erklärt sich eigentlich von selbst...
Grundsätzlich aber wäre dein Ansatz irgendwie so: Baue dir ein Layout aus einem ScrollView (fülle die ganze Breite und Höhe des Screens), dass ein LinearLayout enthält (Achtung: setze dir eine ID, damit du es im Code referenzieren kannst!). Und im Code fügst du dann die Buttons hinzu, wie der JavaMeister es beschrieben hat (der View wäre dann über die bereits genannte ID zu holen - und auf LinearLayout zu casten).
kannst mir nicht einfach ein beispiel geben? Also den programmcode, vielleicht kannst ihn mir noch auskommentieren, das wär super... Ober muss man das dann doch teils in xml beschreiben?
Ernsthaft? Soll ich dir auch gleich noch die ganze App programmieren? Ich glaube, du solltest dich erst einmal mit den grundlegenden Tutorials beschäftigen, denn sonst gebe ich dir nur Code, den du nicht verstehst.
Natürlich kannst du grundsätzlich deine Oberfläche komplett im Code beschreiben, aber a) vermischt man dann zu sehr View und Control und b) ist es viel zu kompliziert!
Und wenn du schon dabei bist, auch gleich noch so viele der anderen Tutorials auf Lars Vogels Seite, wie möglich.
Btw: Ich deklariere fast alle Oberflächen in XML und füge sie per LayoutInflater an den stellen Hinzu, wenn ich im Code eine gewisse Dynamic brauche.
Das Layout wäre etwas wie das hier
[XML]
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollContainer"
android:layout_width="match_parent"
android:layout_height="match_parent" >
durchführen) und fügst da deine Buttons im Code hinzu.
Ungefähr so (ungetested und die Buttons sind natürlich unbeschriftet...):
Java:
setContentView(R.layout.test);
LinearLayout container = (LinearLayout) findViewById(R.id.linearContainer);
for (int i = 0; i < 100; i++) {
Button b = new Button(this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
container.addView(b, lp);
}
So der Herr. Und ab jetzt liest du Tutorials, bis die Schwarte kracht, denn das sind grundlegende Sachen, die man eigentlich problemlos(!!!), wie so ziemlich jeder andere Android-Entwickler bestätigen wird, im Selbststudium lernen kann.
Wenn du Fragen zu Services hast, ist das etwas anderes, weil das weit komplexer ist, aber wie man eine solch simple UI bastelt, sollte man auch ohne Hilfe hinbekommen.