Sehen wir uns die Android-Dokumente :
Legen Sie den Aktivitätsinhalt auf eine explizite Ansicht fest. Diese Ansicht wird direkt in die Ansichtshierarchie der Aktivität eingefügt.
Also überschreibt setContentView
das Layout und ersetzt es durch ein neues. Normalerweise möchten Sie dies nur einmal in onCreate tun. Theoretisch könnten Sie mehr tun, aber es wird das gesamte Layout neu gezeichnet, und das könnte einige Zeit dauern. Es gibt ein paar Alternativen, je nachdem, was genau Sie wollen:
Wie für Ihre spezielle Anwendung, hier ist, was ich tun würde:
Das Android SDK zeigt, wie Daten von einer Aktivität an eine andere weitergegeben werden. Übergeben Sie einfach die Daten, die die zweite Aktivität benötigt, von der ersten, etwa so:
%Vor%Die zweite Aktivität wird dies tun:
%Vor%Ich kann kein Beispiel zeigen, weil ich auf die Antwort warte. okay, ich haben Sie die App von Texten (es wird Liedtext der Band zeigen) und Alben sind neu Aktivitäten, aber ich möchte nicht viele Aktivitäten und das ist, warum ich will Erstellen Sie Songs nur Layouts und wechseln Sie die Ansichten mit der Taste Drücken Sie
Es hört sich so an, als würdest du das falsch machen. Wenn Sie die Benutzeroberfläche ändern möchten, die ein Activity
enthält, dann wäre Fragment
s der bessere Ansatz. Es gibt ein bisschen eine Lernkurve dort, aber es ist gutes Android-Design und gut dokumentiert .
Außerdem scheinen Sie Formatierung und Inhalt zu verwirren. Wenn Sie Liedtexte anzeigen, benötigen Sie für jedes Lied kein neues Layout. Sie müssen nur den Text ändern und sie in der gleichen Aktivität behalten. Was Sie tun, ähnelt dem Erstellen eines neuen Web-Browsers für jede Webseite, die Sie besuchen möchten. Finde stattdessen einen Weg, den Text zu speichern und ihn auf einer einzelnen Aktivität (oder in einem Fragment) anzuzeigen, um diesen Text anzuzeigen. Dasselbe würde für jedes Album gelten: Eine Aktivität würde das Albumcover in der Ecke (oder als Hintergrund), den Titel, das Veröffentlichungsdatum usw. als Text und dann eine Liste von Songs darunter anzeigen. Der tatsächliche Inhalt von TextView
s kann sich ändern, aber das Layout sollte identisch sein.
Ja, das ist schlecht, weil es Ihre Aktivität mit Ihrem Layout aufbläht und wenn Ihr Layout viele Ansichten hat, kann es etwas dauern.
Um zu vermeiden, dass Sie einen ViewAnimator verwenden sollten, wo Sie alle Ihre Layouts setzen und Sie Wechseln Sie mit showNext () und showPrevious (), dh:
%Vor%Und in deinem Code:
%Vor%Tags und Links android android-layout android-activity setcontentview