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

在 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 回答
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 回答