Ich habe eine übergeordnete Aktivität und eine untergeordnete Aktivität. Die untergeordnete Aktivität hat keine Symbolleiste, daher können Sie nicht zurück navigieren. Sie können nur zur übergeordneten Aktivität zurückkehren, wenn die Zurück-Taste gedrückt wird oder wenn eine bestimmte Taste gedrückt wird (in diesem Fall verwende ich finish()). Ich muss jedoch wissen, ob der Benutzer diese Schaltfläche gedrückt hat, aber wie kann ich der übergeordneten Aktivität über die untergeordnete Aktivität Daten zuweisen?Wie kann ich Daten aus untergeordneten Aktivitäten abrufen, wenn die Zurück-Taste gedrückt wird?
-1
A
Antwort
0
Starten Sie Ihr Kind Activity
mit startActivityForResult
. Dann können Sie ein Ergebnis an den Start (Eltern) zurückkehren Activity
0
In ActivityOne haben wir zwei Elemente 1) Taste 2) Kind Aktivität zu öffnen Textview die Ergebnisse von Kind Aktivität Zwei
In Aktivität binden wir haben zwei Elemente 1) EditText, um Daten einzugeben, die zurück zum Mutter activty 2), um zu senden, müssen die Daten in EditText eingegeben senden
Bitte überprüfen Sie die folgenden Beispielcode für refference
Eltern Aktivität: ActivityOne.java
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
/**
* Created by jaffer on 16/6/17.
*/
public class ActivityOne extends AppCompatActivity implements View.OnClickListener {
public static final String DATA = "data";
private static final int REQUEST_CODE = 1001;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_one);
initViews();
}
private void initViews() {
((Button) findViewById(R.id.btn_one)).setOnClickListener(this);
}
@Override
public void onClick(View view) {
Intent i = new Intent(this, ActivityTwo.class);
startActivityForResult(i, REQUEST_CODE);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK && data != null) {
if (data.getExtras().containsKey(DATA)) {
updateUI(data.getExtras().getString(DATA));
}
}
}
private void updateUI(String string) {
((TextView) findViewById(R.id.tv_result)).setText(string);
}
}
Eltern Layout activity_one.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/btn_one"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="open child activty"/>
<TextView
android:id="@+id/tv_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"/>
</LinearLayout>
Kinder Aktivität: ActivityTwo.java
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
/**
* Created by jaffer on 16/6/17.
*/
public class ActivityTwo extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
initViews();
}
private void initViews() {
((Button) findViewById(R.id.btn_send_result)).setOnClickListener(this);
}
@Override
public void onClick(View view) {
Intent returnIntent = new Intent();
returnIntent.putExtra(ActivityOne.DATA, ((EditText) findViewById(R.id.et_result)).getText().toString());
setResult(Activity.RESULT_OK, returnIntent);
finish();
}
}
Kind Layout activity_one.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/et_result"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"/>
<Button
android:id="@+id/btn_send_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Send data"/>
</LinearLayout>
Verwandte Themen
- 1. jQuery (oder regelmäßige Javascript) Funktion ausführen, wenn Seite geladen wird nach dem Zurücktaste gedrückt wird
- 2. Wie kann ich nur scrollen, wenn die Leertaste gedrückt wird?
- 3. Wie kann ich die Daten aus einer .fb-Datei abrufen?
- 4. ef7 kann die untergeordneten Objekteigenschaften des untergeordneten Objekts nicht abrufen
- 5. Zufälliger Text aus Array anzeigen, wenn die Schaltfläche gedrückt wird
- 6. Wie kann ich die Maustaste gedrückt halten, die über ein winforms-Steuerelement gedrückt wird?
- 7. Wie kann ich die Jquery.on() -Funktion auslösen, wenn die Maustaste gedrückt wird, anstatt wenn es freigegeben wird.
- 8. UISearchController blendet die Ansicht nicht aus, wenn sie gedrückt wird
- 9. Abrufen von Daten aus IList innerhalb des untergeordneten Elements ViewModel
- 10. Wie kann ich Aktivitäten mit Datumsbereich von Fitbit abrufen?
- 11. Wie kann ich Daten aus der Firebase-Datenbank korrekt abrufen?
- 12. Abrufen von Daten von einer Webseite, wenn eine Schaltfläche in scala js gedrückt wird
- 13. Wie gebe ich einen String aus einem Textfeld zurück, wenn die Taste gedrückt wird?
- 14. Maus simulieren, wenn die Taste gedrückt wird
- 15. Nachricht senden, wenn die Taste gedrückt wird
- 16. Aktivität Relaunch Problem, wenn die Home-Taste gedrückt wird
- 17. Android Firebase Daten vom untergeordneten Knoten abrufen
- 18. Vue.js: Wie bekomme ich offsetX vom "currentTarget", wenn die Maus über die untergeordneten Elemente bewegt wird?
- 19. Wie kann ich Daten aus der Datenbank in PHP abrufen?
- 20. Wie kann ich Daten aus einer Datei abrufen?
- 21. Wie kann ich Google Voice-Daten abrufen?
- 22. Wie tausche ich Daten (Objekte) zwischen verschiedenen Android-Aktivitäten aus?
- 23. Wie kann ich die Daten der Checkbox im Repeater abrufen, wenn ich auf die Schaltfläche klicke?
- 24. Wie lösche ich das Textfeld, wenn eine Taste gedrückt wird?
- 25. Googlemap wird nicht in einem Koordinatenlayout in untergeordneten Aktivitäten angezeigt
- 26. Wie fokussiere ich das Kind-Steuerelement, wenn Tab gedrückt wird?
- 27. Wie kann ich ein Verhalten erstellen, bei dem ein Schlüssel denkt, dass er gedrückt wurde, wenn die Maus gedrückt wird?
- 28. Wie kann ich eine Funktion aufrufen, wenn die Navigationstaste zurück gedrückt wird?
- 29. Wie kann ich Android-App programmgesteuert beenden, wenn die Home-Taste gedrückt wird?
- 30. Wie kann ich asynctask in Android stoppen, wenn die Zurück-Taste gedrückt wird?
eine Java-Klasse erstellen, die Daten zu halten, als wie MAN IN DER MITTE Kind Tätigkeit handeln wird, dass die Daten in dieser Klasse halten müssen, bevor sie beendet dann Mutter Aktivität lesen Sie diese Klasse, um die Daten lolz zu bekommen –