webentwicklung-frage-antwort-db.com.de

Bundle bei startActivity () übergeben

Was ist der richtige Weg, um ein Bündel an die Aktivität zu übergeben, die von der aktuellen gestartet wird? Gemeinsame Eigenschaften?

151
yanchenko

Sie haben einige Möglichkeiten:

1) Verwenden Sie das Bundle aus dem Intent :

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

2) Erstellen Sie ein neues Bundle

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

3) Verwenden Sie die Shortcut-Methode putExtra () des Intent

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


Dann würden Sie sie in der gestarteten Aktivität lesen über:

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

HINWEIS: Bundles haben "get" - und "put" -Methoden für Alle primitiven Typen, Parcelables und Serializables. Ich habe Strings nur zu Demonstrationszwecken verwendet.

403
Jeremy Logan

Sie können das Bundle aus dem Intent verwenden:

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

Oder ein ganzes Bundle:

myIntent.putExtras(myBundle);

Ist es das, wonach du suchst?

18
DustinB

Übertragen von Daten von einer Aktivität an eine Aktivität in Android

Eine Absicht enthält die Aktion und optional zusätzliche Daten. Die Daten können mit der Intention putExtra()-Methode an andere Aktivitäten übergeben werden. Daten werden als Extras übergeben und sind key/value pairs. Der Schlüssel ist immer ein String. Als Wert können Sie die primitiven Datentypen int, float, chars usw. verwenden. Wir können auchParceable and SerializableObjekte von einer Aktivität an eine andere übergeben.

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

Bündeldaten von Android-Aktivitäten abrufen

Sie können die Informationen mit den MethodengetData()des Intent-Objekts abrufen. Das Objekt Intent kann über die MethodegetIntent()abgerufen werden.

 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); 
  }
13
IntelliJ Amiya

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 Bündel, legen Sie das Bündel für den jeweiligen Wert fest und übergeben 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 in Ihrer NewActivity dieses Bundle erhalten und Ihren Wert abrufen.

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

Sie können auch Daten durch die Absicht weiterleiten. Legen Sie in Ihrer aktuellen Aktivität die Absicht so fest,

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

Jetzt können Sie in Ihrer NewActivity diesen Wert aus folgenden Intentionen abrufen:

String value = getIntent().getExtras().getString(key);
4
Neha Mehta

sie können diesen Code in Ihrer ersten Aktivität verwenden :

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

und erhalte Objekt in zweiter Aktivität :

 Intent in = getIntent();
    Bundle content = in.getExtras();
   // check null
        if (content != null) {
            String content = content_search.getString("key_value"); 
    }
0
Pouria Hemati

Schreibe das ist die Aktivität, in der du bist:

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

In der NextActivity.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, du kannst es versuchen.

Quelle: https://www.c-sharpcorner.com/article/wie-senden-die-daten-ein-aktivität-zu-einer- anderer- aktivität-in-Android-anwendung/

0
trustidkid