【发布时间】:2019-05-22 02:47:06
【问题描述】:
我希望在我的活动中添加一个枚举。 这个枚举将包含一个 EditText 类。
我在枚举中收到此警告:
Do not place Android context classes in static fields (static reference to Day which has field editText pointing to EditText); this is a memory leak
这是我的代码:
enum class Day(val num: Int, var editText: EditText?, val rStringInt: Int) {
mon(2, null, R.string.lmon),
tue(3, null, R.string.ltue),
wed(4, null, R.string.lwed),
thurs(5, null, R.string.lthurs),
fri(6, null, R.string.lfri),
sat(7, null, R.string.lsat),
sun(1, null, R.string.lsun)
}
在我的活动中,我有一个 onCreate 方法,它手动分配每一天的 editText 值。我似乎无法在这里得到一个单行的东西:
Day.mon.editText = mon
Day.tue.editText = tue
Day.wed.editText = wed
Day.thurs.editText = thurs
Day.fri.editText = fri
Day.sat.editText = sat
Day.sun.editText = sun
如何才能使我在 Day 枚举中不会收到此错误?我已经尝试将枚举放在我的 Activity 类中,但它仍然给我一个警告。
编辑:对不起,这是一个警告,而不是错误。
【问题讨论】: