2016-12-13 2 views
1

Ich bin ein neuer Android-Programmierung Anfänger :).Verwenden von Lebenszyklen in Android

Ich habe eine einfache App gemacht, die Orte hinzufügt.

1- Haupttätigkeit umfassen Tasten {Orte, Platz hinzufügen, Favoriten Orte}

so nehmen wir an, wir in der „Platz hinzufügen“ Aktivität sind, wir geben tite und Beschreibung und fügen Sie den Ort, an Arraylist und Umzug auf zu Orten, die diese Liste hat ..

Das Problem ist, wenn ich zurück gebe, bekomme ich die Details zurück, die ich über den Platz geschrieben habe, aber ich versuche, es zu löschen, wenn ich zurück in das Telefon drücke ...

Wie kann ich dies tun, um Abstürze zu vermeiden?

Dank all

- Update: Danke an alle Leute, die versuchen, antworten Sie mir zu helfen, das ist genial :) ich gerade hinzugefügt:

@Override 
    public void onBackPressed(){ 
     Intent intent = new Intent(PlacesActivity.this,MainActivity.class); 
     startActivity(intent); 

    } 

Diese Lösung wurde vorgeschlagen: Arsen Sench :)

in der Tätigkeit, die ich will nicht zurück drücken,

+0

Schreiben Sie die Crash-Protokoll hier bitte! Und es ist besser, wenn Sie einen klaren App-Flow geben können. –

+0

Sie sollten die Aktivität beenden() wenn Sie eine andere starten –

Antwort

0

Sie einfach die EditText fi eld, bevor Sie eine neue Aktivität starten

editTextTitle.setText(""); 
editTextDescription.setText(""); 

intent.startActivity(); 
+0

Ich habe es versucht, aber leider funktioniert es nicht, weil ich auch ein Foto aus der Galerie, also wenn ich es nahm und zurück zum Ort zu lade das Bild mit Details wird die onresume sauber sein .. stattdessen versuche ich onResume in PlacesActivity machen, um zurück zum Haupt oder etwas –

+0

Sie sollten den Bildpfad/Daten Zeichenfolge in SharePref/nur eine öffentliche statische speichern Geben Sie in Ihrer Aktivität einen String ein, auf den Sie zugreifen können, wenn Sie zu der Aktivität zurückkehren, und laden Sie das Image bei Bedarf. –

2

Sie können hier eine Sache tun. Bevor Sie zu einer anderen Aktivität springen Orte anzeigen, löschen Sie einfach alle Texte dort.

edittext.setText(""); 

Versuchen Sie es. Wird dir helfen.

0

Sie können startActivity() aus beiden Klassen verwenden. Oder Sie können startActivityForResult() verwenden. Hier ist ein Beispiel der Verwendung von startActivity() von beiden Aktivitäten.

Von der ersten Aktivität

Intent i = new Intent(YOURFIRSTACTIVITY.this,YOURSECONDACTIVITY.class); 
startactivity(i); 
finish(); 

Von der zweiten Aktivität

@Override 
public void onBackPressed() 
{ 
    Intent i = new Intent(YOURSECONDACTIVITY.this,YOURFIRSTACTIVITY.class); 
    startactivity(i); 
    finish(); 
} 
+0

Danke, Mann. es hat funktioniert! –

+0

Willkommen. Wenn es funktioniert, bitte als Antwort akzeptieren. –

Verwandte Themen