所以我试图缩短我的android项目R调用,基本上是为了减少与R相关的代码。所以我想做类似的事情
object App extends Application {
def string(field : String) : String = {
this.getResources().getString(R.string.getClass().getField(field).get())}
}
为了更改App.getResources().getString(R.string.someAndroidValueString)
为App.string("someAndroidValueString")
是的,这不是很短,但是从那里我可以创建一些特征,以便模型类应该只定义一个方法resourceName(),并且在任何地方都不会调用 R (除了特征,我猜)
我可以从 R.string.declaredField 获取声明的字段(感谢此处的评论),但是根据get in的参数,我会遇到很多错误field.get()
。
为了让这个想法发挥作用,我需要从该字段中获取值。
我错过了什么吗?