Frage

Wie können Sie ein Bündel an die Aktivität weitergeben, die vom aktuellen gestartet wird? Gemeinsame Immobilien?

War es hilfreich?

Lösung

Sie haben ein paar Optionen:

1) Verwenden Sie die Bündeln von dem Absicht:

Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);  

2) Erstellen Sie ein neues Bündel

Intent mIntent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.putString(key, value);
mIntent.putExtras(mBundle);

3) Verwenden Sie die putExtra () Verknüpfungsmethode der Absicht

Intent mIntent = new Intent(this, Example.class);
mIntent.putExtra(key, value);


In der gestarteten Aktivität lesen Sie sie dann über:

String value = getIntent().getExtras().getString(key)

HINWEIS: Bündel haben "Get" und "Put" -Methoden für alle primitiven Typen, Parzellen und Serialisierbaren. Ich habe gerade Zeichenfolgen für Demonstrationszwecke verwendet.

Andere Tipps

Sie können das Bundle aus der Absicht verwenden:

Bundle extras = myIntent.getExtras();
extras.put*(info);

Oder ein ganzes Bündel:

myIntent.putExtras(myBundle);

Suchen Sie das?

Übergeben von Daten von einer Aktivität an Aktivität in Android

Eine Absicht enthält die Aktion und optional zusätzliche Daten. Die Daten können unter Verwendung der Absicht an andere Aktivitäten übergeben werden putExtra() Methode. Daten werden als Extras übergeben und sind key/value pairs. Der Schlüssel ist immer eine Zeichenfolge. Als Wert können Sie die primitiven Datentypen int, float, chars usw. verwenden Parceable and Serializable Objekte von einer Aktivität zu anderen.

Intent intent = new Intent(context, YourActivity.class);
intent.putExtra(KEY, <your value here>);
startActivity(intent);

Abrufen von Bündeldaten aus Android -Aktivität

Sie können die Informationen verwenden getData() Methoden zum Absichtsobjekt. Das Absicht Objekt kann über die abgerufen werden getIntent() Methode.

 Intent intent = getIntent();
  if (null != intent) { //Null Checking
    String StrData= intent.getStringExtra(KEY);
    int NoOfData = intent.getIntExtra(KEY, defaultValue);
    boolean booleanData = intent.getBooleanExtra(KEY, defaultValue);
    char charData = intent.getCharExtra(KEY, defaultValue); 
  }

Mit dem Bundle können Sie Werte von einer Aktivität an eine andere Aktivität übergeben. Erstellen Sie in Ihrer aktuellen Aktivität ein Bundle und stellen Sie das Bundle für den jeweiligen Wert ein und geben Sie dieses Bündel an die Absicht.

Intent intent = new Intent(this,NewActivity.class);
Bundle bundle = new Bundle();
bundle.putString(key,value);
intent.putExtras(bundle);
startActivity(intent);

Jetzt können Sie dieses Bündel in Ihrer neuen Aktivität erhalten und Ihren Wert zurückziehen.

Bundle bundle = getArguments();
String value = bundle.getString(key);

Sie können auch Daten durch die Absicht übergeben. Setzen Sie in Ihrer aktuellen Aktivität die Absicht wie diese,

Intent intent = new Intent(this,NewActivity.class);
intent.putExtra(key,value);
startActivity(intent);

Jetzt in Ihrer Neuaktivität können Sie diesen Wert aus solcher Absicht erhalten,

String value = getIntent().getExtras().getString(key);

Schreiben Sie dies ist die Aktivität, in der Sie sich befinden:

Intent intent = new Intent(CurrentActivity.this,NextActivity.class);
intent.putExtras("string_name","string_to_pass");
startActivity(intent);

In der nächsten Aktivität.java

Intent getIntent = getIntent();
//call a TextView object to set the string to
TextView text = (TextView)findViewById(R.id.textview_id);
text.setText(getIntent.getStringExtra("string_name"));

Das funktioniert für mich, Sie können es versuchen.

Quelle:https://www.c-sharpcorner.com/article/how-to-send-the-data-one-activity-tivy-anotivctivity-tivity-in-android-application/

Sie können diesen Code in Ihrem verwenden Erste Aktivität :

 Intent i = new Intent(Context, your second activity.class);
        i.putExtra("key_value", "your object");
        startActivity(i);

und ein Objekt in bekommen zweite Aktivität :

 Intent in = getIntent();
    Bundle content = in.getExtras();
   // check null
        if (content != null) {
            String content = content_search.getString("key_value"); 
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top