2017-11-27 12 views
0

TL, DR: Wie wird von "Aktivität A" sowohl die "Aktivität B" als auch die Fragmente, die darin angezeigt werden, gestartet.Starten einer Aktivität und eines Fragments aus einer anderen Aktivität

Ich bin neu in Android Studio, also bin ich ratlos über die meisten Dinge in Bezug auf Fragmente. Ich arbeite an einer App, die Informationen über verschiedene Formen berechnet. Zuerst kann der Benutzer eine Form auswählen, dann werden sie zu einer Aktivität geführt, in der sie die Dimensionen eingeben. Was ich versuche, ist, anstatt eine Aktivität für jede Form zu erstellen, habe ich eine einzelne Aktivität erstellt, in der ich verschiedene Fragmente starten möchte. Ich habe ein einzelnes Fragment für jede Dimension erstellt (sagen wir Seite a, Seite b und so weiter ...).
Es ist ein bisschen schwer für mich zu erklären, aber was ich versuche zu tun ist, von der ersten Aktivität - "Menu.java" durch eine Schaltfläche öffnen Sie eine zweite Aktivität - "Input.java" Aktivität (enthält nur eine Bestätigung button) zusammen mit einigen Fragmenten, sobald die "Input" -Aktivität beginnt (abhängig von der Form können die Fragmente variieren, egal ob in Position oder über alle in denen geladen sind und welche nicht - der Grund warum ich denke, dass ich es so machen muss) Dies).
Um zu vereinfachen (und hoffentlich ein wenig verständlicher zu machen) - von "Activity A" starten Sie sowohl die "Activity B" als auch die Fragmente, die darin angezeigt werden.

Ich habe keinen Code außer den Fragmenten selbst und den Buttons, die eingerichtet wurden, denn wie ich schon sagte, bin ich meistens ratlos und ich bin dankbar für jeden Rat oder zumindest Klärung, dass es nicht möglich ist. Hovewer, wenn es irgendwelche anderen Informationen gibt, die helfen können oder du willst, dass ich versuche, es ein bisschen besser zu erklären, mach einfach einen Kommentar und ich werde und was du brauchst.

Vielen Dank

--EDIT-- hier ist der gesamte Code Ich habe bereit:

public class Menu extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_menu); 
} 

public void inputSquare(View view){ 
    Intent intent = new Intent(this, Input.class); 

// Hier ist, wo ich das anfangen möchte sagen wir mal Fragment "Input_A_Fragment" in der Eingangsklasse (oder auch wenn dies nicht die Art und Weise/Ort eingeben le mich wissen zu tun ist)

startActivity(intent); 
} 
} 
+0

umfassen Code von dem, was Sie tun, Korrektoren zu helfen, eine Antwort –

+0

ich mit etwas verwirrt bin zu geben, wie Sie wollen Fragmente auf Ihre zweite Aktivität anzuzeigen. Sag mir, wie viele Fragmente du hast und wie willst du es anzeigen? Oder sagen Sie mir, was Sie dem Benutzer zur Verfügung stellen möchten, wenn sie die zweite Aktivität ausführen – Nero

+0

@Nero Zum Beispiel, wenn sie ein Quadrat im Menü auswählen, öffnet sich die zweite Aktivität und das einzige Fragment wäre "Input_A_Fragment". Aber wenn sie einen Zylinder wählen, werden zwei Fragmente angezeigt: "Input_R_Fragment" und ein "Input_V_Fragment". Alle Fragmente bestehen nur aus einer einfachen Textansicht mit einer Textkomponente darunter. – ThatMatt

Antwort

0

Codeblock unten ist, was Sie zum Starten Ihres Fragments neben Ihrer Tätigkeit benötigen.

 public void inputSquare(View view){ 
    Intent intent = new Intent(this, Input.class); 
    Input_A_Fragment input_A_Fragment = new Input_A_Fragment(); 
    getFragmentManager().beginTransaction() 
    .replace(R.id.fragmentContentPlaceHolder,input_A_Fragment,"Input_A_Fragment") 
    .addToBackStack("Input_A_Fragment") 
    .commit(); 
    startActivity(intent); 
    } 
+0

Ich habe ein Problem damit. Wenn ich es in die onCreate-Methode der Input.class einfügen, funktioniert es, aber wenn es in der Menu.class ist, stürzt es die App ab, sobald ich auf die Schaltfläche klicke, mit der es verknüpft ist. Ich habe alle möglichen Kombinationen von Layouts ausprobiert, um das Fragmentlayout zu umbrechen oder die Fragmentkomponente zu umbrechen, in der es angezeigt werden soll, aber nichts funktioniert.Kann es in einigen XML-Dateien noch vorkommen oder ist es eher ein Problem mit dem Code? – ThatMatt

Verwandte Themen