2

整数とシリアル化されたオブジェクトを別のアクティビティに移動しましたが、java.util.Dateをアクティビティに移動することに固執しています。これは、ここで答えが得られる場合を除いて、何のようにも聞こえません。

ネット上で初めてかもしれません。

4

3 に答える 3

3

現在の活動から:

Intent intent = new Intent(this, NextActivity.class);
intent.putExtra("date", dateObj.getTime());
startActivity(intent);

次のアクティビティから:

Date dateObj = new Date(getIntent().getExtras().getLongExtra("date", -1));

long異なるデバイスでの文字列の問題による日付の解析を回避するために、時間を値として渡し、他のアクティビティに変換して戻す必要があります。

于 2012-06-06T06:28:09.260 に答える
0

これが私の問題を終わらせた方法です

Intent i = new Intent(this, EventListActivity.class);
    i.putExtra("date",date);
    startActivityForResult(i, Intent.EXTRA_DOCK_STATE_DESK);

と取得:

Date date = (Date) this.getIntent().getExtras().get("date");

それはうまくいくように見えます、あなたはそれについてどう思いますか、最良の方法は何ですか?

于 2012-06-06T06:35:11.823 に答える
0

calle クラスで試してください:

Intent intent = getIntent();
intent.putExtra("Date",dateSelected);
setResult(RESULT_OK, intent);
finish();

そして、新しいアクティビティでは:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  if(resultCode==RESULT_OK && requestCode==1) {
    Bundle mBundle = data.getExtras();
    String mMessage = mBundle .getString("Date");
  }
}
于 2012-06-06T06:30:42.653 に答える