wie man einen Wert nach Abschluss einer Aktivität mit Absicht sendet

8

Ich habe eine Aktivität, die eine Rasteransicht von Elementen anzeigt. Wenn ich auf einen von ihnen klicke, gehe ich zu einer anderen Aktivität über, die die Informationen des Gegenstandes zeigt. Ich habe auch die Möglichkeit, zurück zu gehen (Gridview-Aktivität) oder löschen.

Wenn ich es lösche, muss ich die Gridview aktualisieren, also muss ich eine Variable senden, die sagt "Eey, ich habe ein Element gelöscht. Sie müssen aktualisieren".

Ich denke, ich muss die zweite Aktivität mit startActivityForResult öffnen, aber ich weiß nicht, wie ich den Wert setzen soll.

Option 1 (zurück Pfeil): beendet die Aktivität. kein Ergebnis zurück. Option 2 (Element löschen): Beendet die Aktivität und setzt ein Ergebnis zurück.

Vielen Dank im Voraus!

    
trumpetero 11.07.2013, 09:42
quelle

8 Antworten

13

Sie können Ihr benutzerdefiniertes Ergebnis festlegen. Wie DELETE_ITEM .

Führen Sie auf Ihrem Löschen-Button Folgendes aus:

%Vor%

Nun zu Ihrem Aktivitätsergebnis tun Sie folgendes:

%Vor%     
Vipul Purohit 11.07.2013, 09:51
quelle
9

Hoffe, das hilft

Erste Klasse

%Vor%

Zweite Klasse

%Vor%     
Benil Mathew 11.07.2013 09:46
quelle
4

Ja, Sie müssen startActivityForResult verwenden. Bevor Sie den Vorgang beenden, müssen Sie

aufrufen %Vor%

in der GridView-Aktivität wird aufgerufen

%Vor%     
Blackbelt 11.07.2013 09:46
quelle
0

wir können die neue Aktivität starten. Wert durch Absicht mit diesem .. Wert.

Absicht main = neue Absicht (MainActivity.this, SecondActivity.class); main.putExtra ("JobId", jobid); startActivityForResult (audio, anforderungscode);

Erhalte den Wert in SecondActivity wie folgt ..

int jobid = getIntent (). getExtras (). getInt ("jobId");

    
harikrishnan 11.07.2013 09:51
quelle
0

Sagen wir, ich möchte von Aktivität A zu Aktivität B gehen und einen Wert an B übergeben und schließlich A beenden.

Folge diesem:

Irgendwo in A:

%Vor%

Empfangen Sie die Daten in B:

%Vor%     
Sibbs Gambling 11.07.2013 09:51
quelle
0

Sie müssen die Aktivität nicht beenden

%Vor%

GridView hat eine invalidateViews () -Methode.

Wenn Sie diese Methode aufrufen: "Alle Ansichten, die neu erstellt und neu gezeichnet werden sollen."

    
praveen Sharma 11.07.2013 09:52
quelle
0

Sie müssen nur nach dem Löschen des Bildaufrufs setResult mit dem entsprechenden Ergebniscode und eventuell Daten.

Ich denke, der beste Weg, um dies zu erreichen, besteht darin, aus dem benutzerdefinierten Ergebnis Ihrer Bildanzeigeaktivität zurückzukehren. Dies kann erreicht werden, wenn Sie in Ihrer Bildbetrachter-Aktivität so etwas schreiben.

%Vor%

Sie müssen möglicherweise das Standardergebnis in Ihrer onCreate-Methode festlegen

%Vor%

Bei Ihrer Grid-Aktivität müssen Sie den Ergebniscode Ihrer Bildbetrachter-Aktivität überprüfen, und wenn es nicht in Ordnung ist - überprüfen Sie, ob Ihr Grid zu den Daten geändert wurde.

%Vor%     
pepyakin 11.07.2013 09:47
quelle
0

Nun, ich habe es so gemacht:

Starten Sie ActivityB von ActivityA mit startActivityForResult :

%Vor%

Verwenden Sie in ActivityB setResult zum Senden von Daten an ActivityA :

%Vor%

In ActivityA erhalten Daten, die von ActivityB als onActivityResult gesendet wurden:

%Vor%

Hoffe, das wird dir helfen.

    
Hiren Patel 14.09.2016 06:27
quelle

Tags und Links