Ein Paket an startActivity () übergeben?

Wie verteile ich ein Bündel am besten an die Aktivität, die gerade gestartet wird? Gemeinsame Eigenschaften?

    Sie haben ein paar Möglichkeiten:

    1) Benutze das Bündel aus der Absicht :

    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 putExtra () Shortcut-Methode der Intent

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

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

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

    HINWEIS: Bundles haben Methoden “get” und “put” für alle primitiven Typen, Parcelables und Serialisables. Ich habe Strings nur zu Demonstrationszwecken benutzt.

    Sie können das Bündel aus der Absicht verwenden:

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

    Oder ein ganzes Bündel:

     myIntent.putExtras(myBundle); 

    Ist das wonach Sie suchen?

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

    Eine Absicht enthält die Aktion und optional weitere Daten. Die Daten können mithilfe der Methode putExtra() Absicht an andere Aktivitäten putExtra() werden. Daten werden als Extras weitergegeben und sind key/value pairs . Der Schlüssel ist immer ein String. Als Wert können Sie die primitiven Datentypen int, float, chars, etc. verwenden. Wir können auch Parceable and Serializable Objekte von einer Aktivität zur anderen übergeben.

     Intent intent = new Intent(context, YourActivity.class); intent.putExtra(KEY, ); startActivity(intent); 

    Bundle-Daten von Android-Aktivität abrufen

    Sie können die Informationen mithilfe der getData() Methoden für das Intent-Objekt abrufen. Das Intent- Objekt kann über die Methode getIntent() 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); } 

    Mit dem Bündel können Sie Werte von einer Aktivität an eine andere Aktivität übergeben. Erstellen Sie in Ihrer aktuellen Aktivität ein Bündel und legen Sie das Bündel für den bestimmten Wert fest, und übergeben Sie das 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 Bündel erhalten und Ihren Wert abrufen.

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

    Sie können Daten auch über die Absicht weitergeben. In deiner aktuellen Aktivität setze die Absicht so,

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

    Jetzt können Sie in Ihrer NewActivity diesen Wert aus der Absicht erhalten,

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