2012-04-11 5 views

Antwort

108

Absicht bietet mehrere Überlastung putExtra() Methoden.

Angenommen, Sie haben eine Klasse Foo Parcel, richtig implementiert es in einer Aktivität in Intent zu setzen:

Intent intent = new Intent(getBaseContext(), NextActivity.class); 
Foo foo = new Foo(); 
intent.putExtra("foo ", foo); 
startActivity(intent); 

es in einer anderen Aktivität von Absicht zu erhalten:

Foo foo = getIntent().getExtras().getParcelable("foo"); 

Hoffnung, das hilft.

2
Parcelable p[] =getIntent().getParcelableArrayExtra("parcel"); 
+0

Ich frage über GetParcelable, für was? – yital9

+0

Es wird ein Array Ihres Objekts zurückgeben, das Sie übergeben haben – MAC

+0

Entschuldigung, fühlen Sie den Unterschied zwischen getParcelableArrayExtra und getParcelable? – yital9

1

Zuerst erstellen Parcel mit Given Technique dann

public static CreditCardDetail newInstance(CreditCardItemBO creditCardItem) { 
     CreditCardDetail fragment = new CreditCardDetail(); 
     Bundle args = new Bundle(); 
     args.putParcelable(CREDIT_KEY,creditCardItem); 
     fragment.setArguments(args); 
     return fragment; 
    } 

Und wie

if(getArguments() != null) 
{ 
    creditCardItem = getArguments().getParcelable(CREDIT_KEY);    
} 

bekommen, wo

public static final String CREDIT_KEY = "creditKey"; 
0

Es ist wichtig, sich daran zu erinnern, dass Ihre m Modelle müssen die Parcelable Schnittstelle und die statische Methode implementieren. Dieser Fall ist für die Listen

private static final String MODEL_LIST = "MODEL_LIST"; 
    public MainFragment() {} 

    public static MainFragment newInstance(ArrayList<YourModel> 
models) { 
     MainFragment fragment = new MainFragment(); 
     Bundle args = new Bundle(); 
     args.putParcelableArrayList(MODEL_LIST,models); 
     fragment.setArguments(args); 
     return fragment; 
    } 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     if (getArguments() != null) { 
      ArrayList<YourModel> models = getArguments().getParcelableArrayList(MODEL_LIST); 
     } 
    } 
Verwandte Themen