2011-12-25 8 views

答えて

8

このコードは、私がメモリから書いているので、おおよそのものです。 ActivityBののonCreateでその後

Intent mIntent = new Intent(ActivityA.this, ActivityB.class); 
mIntent.putLong(KEY, getTimeMilliseconds()); 
startactivity(mIntent); 

Bundle mBundle = getItent().getExtras(); 
Long time = mBundle.getLong(KEY); 

注:あなたがしたい場合

putLong /にGetLongは...複数のString型、intに

を適用することができますカスタムオブジェクトに適用するには、そのオブジェクトを作成する必要があります Parcelableを実装します。あなたがget/putSerializableを使用できるように

+0

私は活動ではない別のクラスに渡す必要がありますが、...することができます誰でもしてください特定であるか? – subrussn90

+0

parcelable [Parcelable Example](http://stackoverflow.com/a/8653518/794291)を実装するにはオブジェクトが必要です。あなたのオブジェクトがそれをしたら、それを転送するためにバンドルを使うことができます。 – Rick

2

は、例えば、バンドル内のあなたの日付を表すlong値を渡します長い時間=新しいDate()。getTime();

7

日付は、直列化可能です:MyFragment

MyFragment fragment = new MyFragment(); 
Bundle bundle = new Bundle(); 
bundle.putSerializable(MyFragment.DATE_KEY, new Date()); 
fragment.setArguments(bundle); 

public void onViewStateRestored(Bundle savedInstanceState) { 
    super.onViewStateRestored(savedInstanceState); 
    Bundle bundle = savedInstanceState != null ? savedInstanceState : getArguments(); 
    Date startTime = (Date) bundle.getSerializable(MyFragment.DATE_KEY); 
    this.time = startTime; 
} 

public void onSaveInstanceState(Bundle bundle) { 
    super.onSaveInstanceState(bundle); 
    bundle.putSerializable(MyFragment.DATE_KEY, this.time); 
} 
関連する問題