2016-03-21 9 views
-1
@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == 900) { 
     if (resultCode == getActivity().RESULT_OK) { 
      Bundle b=data.getExtras(); 
      if(b!=null){ 
       Playlist playlist = (Playlist) b.getSerializable("obj"); 
       int playlistId = data.getIntExtra("PLAYLIST_ID", 0); 

       Log.d("---->Data ID", String.valueOf(playlistId)); 
      } 
     } 
    } 

Wie kann ich senden playlistId Wert in onCreate() Methode?Wie kann ichActivityResult-Daten in Aktivität weitergeben?

+0

Sie können nicht onCreate() -Methode aufrufen. Was genau möchten Sie tun? –

+0

Sie können dies nicht an 'OnCreate' Methode senden. Versuchen Sie, von hier aus die Methode aufzurufen, von der sie verwendet werden soll. –

+0

Überprüfen Sie hier http://StackOverflow.com/A/35477167/3533289 –

Antwort

1

ResultActivity:

intent.putExtra("yourKeyName", "hello"); 
    setResult(900, intent); 

Holen Sie sich das Ergebnis:

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (resultCode== 900) { 
     if (resultCode == getActivity().RESULT_OK) { 
      String hello = data.getStringExtra("yourKeyName"); 
     } 
    } 

Sie brauchen keine neuen Bundle erstellen müssen, nur bekommen zusätzliche Inhalte aus der "Intent-Daten" . Hoffe, das hilft.

0
@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (resultCode== 900) { 
     if (resultCode == getActivity().RESULT_OK) { 
      Bundle b=data.getExtras(); 
      if(b!=null){ 
       Playlist playlist = (Playlist) b.getSerializable("obj"); 
       int playlistId = data.getIntExtra("PLAYLIST_ID", 0); 

       Log.d("---->Data ID", String.valueOf(playlistId)); 
      } 
     } 
    } 

use this in another activity to get the result back 

Intent intent = new Intent(); 

intent.putExtra("key",value); 
setResult(900,intent);