2012-06-06 98 views
1

我移動了Integers,並將對象序列化爲另一個活動,但現在我被卡住了 ,並將java.util.Date移動到了我的活動中,這聽起來像什麼也沒有,但如果我在這裏得到答案。發送日期到活動。

它可能是網上的第一個。

+0

你可以使用sharedPrefs嗎? – Shrikant

+0

將日期轉換爲字符串或long,並通過額外的 – Rasel

+0

發送它是否真的不可能? –

回答

1

從目前的活動:

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

從下一個活動:

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

你應該打發時間的long值並將其轉換回的其他活動,以避免串日期解析問題在不同的設備上。

+0

你也可以將long傳遞給構造函數,它會照顧它。 – MikeIsrael

+0

thx @MikeIsrael!更新。 – papaiatis

0

在卡萊類的嘗試:

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"); 
    } 
} 
0

這是我結束了我的問題

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

和GET:

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

它看起來很有效,你怎麼看,最好的方法是什麼?

+0

您應該將日期作爲長整型值傳遞並在其他活動中將其轉換回來,以避免使用不同語言環境的不同設備上的日期解析字符串問題。請參閱下面的答案。 :) – papaiatis