我有課,因爲我需要它傳遞活動之間實現Serializable接口的getString實現Serializable接口
Day tempDay = new Day();
Intent i = new Intent(this, DayCreator.class);
i.putExtra("DayClass", tempDay);
startActivity(i);
但在天類我需要閱讀一些字符串像這樣:
context.getString(R.string.sick_list);
如果我通過構造函數傳遞給這個類的上下文像這樣:
Day tempDay = new Day(context);
開始DayCr當我得到一個錯誤發起人活動:
Parcelable encountered IOException writing serializable object
這使得情況,因爲上下文是不可序列化。
所以...我如何從實現Serializable的類獲取字符串?
「但每天一班我需要閱讀一些字符串是這樣的「 - 恕我直言,DayCreator應該讀取該字符串(或者可能是開始」DayCreator「的任何活動)。 'Day'應該被當作某種模型對象,與字符串資源無關。 – CommonsWare
在對象上保存'context'引用是非常危險的。這是一個更好的方法,使需要上下文的方法接收爲參數,使用它並返回而不保存對它的引用 –
在Day類中,我有函數根據內部計算返回不同的字符串,這些字符串位於xml文件。與DayCreator沒有任何關係 – Dim