2017-04-06 2 views
-2

Ok, ich habe 1 Aktivität namens MainActivity und 2 Layouts, die mit dieser Aktion verknüpft sind. In Layout 1 habe ich einen Button, der beim Anklicken einen Webview im Layout 2 öffnet. Wie kann ich es so machen, wenn ich backbutton drücke, geht es zurück zu Layout 1 und beendet nicht die ganze App.Zurück, um zum vorherigen Layout zurückzukehren

Bearbeiten: Dies wurde behoben, indem einfach eine andere Klasse erstellt und mit einem der Layouts verknüpft wurde.

+0

Ich denke, die bessere Wahl zwei Aktivitäten schaffen würde und Ihre webview innerhalb des zweiten halten activity.also einige Code wäre viel hilfreicher – eLemEnt

Antwort

2

Sie müssen onBackPressed() in Ihrer Aktivität überschreiben und die Logik dort behandeln.

@Override 
public void onBackPressed(){ 
    if(/*layout2 visible*/){ 
    // code here to go back to layout 1 
    }else{ 
      super.onBackPressed(); 
    } 
} 
+0

@Override public void onBackPressed() { if (R.layout.webview sichtbar) { setContentView (R.layout.activity_main); . neue doit() execute();} else {super.onBackPressed();} } ich Fehler: kann nicht lösen Symbol sichtbar –

+0

Es ist ein Kommentar/ein Beispiel, Sie einen ordnungsgemäßen Zustand zu bieten haben – Zielony

+0

Entschuldigung Ich bin wirklich neu im Programmieren. Ich werde versuchen, es herauszufinden, danke. –

0

  • Zunächst sind Ihre zwei Layouts in die Haupt xml Ihre Tätigkeit
  • Make Layout 1 sichtbar und Layout 2 unsichtbar
  • Beim Drücken der Taste 1 Layout 2 sichtbar und das Layout machen unsichtbar
  • Dann, wenn Sie zurück drücken, dann überprüfen Sie, ob Layout 2 sichtbar ist oder nicht. Wenn dann sichtbar Layout 1 und Layout 2 sichtbar unsichtbar

0

Ich verwende diesen Code verwenden onBackPressed()

1- activity_main.xml

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

<Button 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/go_to_second_layout" 
      android:text="Go to second layout" 
      android:onClick="onClick"/> 

2- second_layout.xml

machen
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/second_layout"> 

3- MainActivity.java

public void onClick(View v){ 
    switch(v.getId){ 
    case R.id.go_to_second_layout:{ 
    setContentView(R.layout.second_layout); 
((LinearLayout)findViewById(R.id.second_layout)).setVisibility(View.VISIBLE); 
            break;}}} 
     @Override 
     public void onBackPressed() { 
      if (((LinearLayout)findViewById(R.id.second_layout)).VISIBLE==View.VISIBLE){ 
setContentView(R.layout.activity_main); 
       ((LinearLayout)findViewById(R.id.second_layout)).setVisibility(View.GONE); 
      } 
      else { 
      super.onBackPressed();} 
     } 
Verwandte Themen