Ich fand eine Antwort über den Unterschied zwischen onDestroy und zu beenden.Android onDestroy und beenden
Finish wird die Aktivität aus dem Stapel entfernen, aber Speicher nicht freigeben und onDestroy nicht jedes Mal aufrufen. onDestroy wird die Aktivität beenden und den Speicher freigeben.
In meiner Situation: Es gibt 2 Aktivitäten. A ist Hauptaktivität und B ist eine Aktivität mit einigen EditText zum Senden von Daten an den Server mit Volley.
A -> B -> A
Wenn ich die Daten successfully.It geschickt, um die finish() laufen zu töten B. B zerstört wird. Aber ich rufe B noch einmal an, alle Daten noch da (Inhalt von EditText). Was bedeutet, dass die Erinnerung nicht klar ist.
Hat sich jemand auf diese Frage gestellt? Es gibt meinen Code:
public void update(final Context context, final Map<String,String> data,final Activity activity){//pass B
RequestQueue queue = Volley.newRequestQueue(context);
String url = "http://xxxxxxxx";
StringRequest sr = new StringRequest(Request.Method.POST,url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
activity.finish();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//mPostCommentResponse.requestEndedWithError(error);
}
}){
@Override
protected Map<String,String> getParams(){
Map<String,String> params = data;
//data.
//params.put("user",data.get(''));
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String,String> params = new HashMap<String, String>();
params.put("Content-Type","application/x-www-form-urlencoded");
return params;
}
};
queue.add(sr);
}
AKTUALISIERT
Aktivität B haben viewpager und 3-Fragment von FragmentStatePagerAdapter verwenden. Wenn ich finish() von B anrufe. Diese Daten unter den Fragmenten werden nicht gelöscht. Ich kann die alten Daten sehen, wenn ich wieder B-Aktivität starte.
Wie rufen Sie update? – varunkr
Ich lege update() in die Hilfe-Klasse, pass B in update(), wenn ich den Knopf drücke. Also rufe ich B.finish() an, nachdem ich die Daten gesendet habe –