Android 未解析的引用getResources()Kotlin

Android 未解析的引用getResources()Kotlin,android,kotlin,android-arrayadapter,custom-arrayadapter,Android,Kotlin,Android Arrayadapter,Custom Arrayadapter,因此,我试图在代码中访问getResources(),但由于某些原因,它一直得到一个未解析的引用。我在另一个类中为我的阵列适配器执行此操作。是因为我没有主方法还是因为其他原因?我对android开发和kotlin有点陌生,所以任何帮助都将不胜感激 class ForecasAdapter(val forecast:forecast):RecyclerView.Adapter(){ 重写getItemCount():Int{ returnforecast.list.count()返回 } ove

因此,我试图在代码中访问getResources(),但由于某些原因,它一直得到一个未解析的引用。我在另一个类中为我的阵列适配器执行此操作。是因为我没有主方法还是因为其他原因?我对android开发和kotlin有点陌生,所以任何帮助都将不胜感激

class ForecasAdapter(val forecast:forecast):RecyclerView.Adapter(){
重写getItemCount():Int{
returnforecast.list.count()返回
}
override fun onCreateViewHolder(p0:ViewGroup,p1:Int):预测数据{
val layoutInflator=LayoutInflater.from(p0?.context)
val cellForRow=布局平坦。充气(R.layout.WEATURE_行,p0,false)
返回预报数据(cellForRow)
}
覆盖BindViewHolder(p0:ForecastData,p1:Int){
val drawableId:Int=getResources().getIdentifier(“my_drawable”,“drawable”,getPackageName())
val getWeather=forecast.list[p1]
val clouds=getWeather.weather[0]
val getDateTime=forecast.list[p1]
var getIcon=forecast.list[p1]
var icon=getIcon.weather[0]
p0.view.textView\u text\u clouds.text=clouds.main
p0.view.textView\u date\u time.text=getDateTime.dt\u txt
}
}
类预测数据(val视图:视图):RecyclerView.ViewHolder(视图){

}
在适配器中将上下文作为参数传递,然后像这样使用

 class ForecastAdapter(val forecast: Forecast,val context:Context)
然后


在适配器中将上下文作为参数传递,然后像这样使用

 class ForecastAdapter(val forecast: Forecast,val context:Context)
然后


您不需要通过构造函数传递它。
在onCreateViewHolder中,您可以从父.context获取它,而无需通过构造函数。
在onCreateViewHolder中,您可以从父.context中获取它,您可以使用ContextCompat

ContextCompat.getColor(this.applicationContext, android.R.color.transparent)

您可以使用ContextCompat

ContextCompat.getColor(this.applicationContext, android.R.color.transparent)

这里需要
context
以获得正确的引用,例如
viewHolder.itemView.context.resources
p0.itemView.context.resources
在您的案例中
[this.]getResources()
是当您扩展属于
上下文的类(例如
活动
)或具有内部引用(例如
视图
)时存在的方法。
RecyclerView.Adapter
不继承此方法,因此您需要对某个外部
上下文
对象的引用。按照@sasikumar的建议执行,并要求在构造函数中显式引用,或者使用
视图
对象作为方法参数提供,如上面的注释所示。您需要
上下文
此处以获得正确的引用,如
viewHolder.itemView.context.resources
p0.itemView.context.resources
在您的例子中,
[this.]getResources()
是一个方法,当您扩展一个类时,该类是一个
上下文
,例如
活动
,或者在内部有一个引用,例如
视图
RecyclerView.Adapter
不继承此方法,因此您需要对某个外部
上下文
对象的引用。要么按照@sasikumar的建议去做,要求在构造函数中有一个显式引用,要么使用
视图
对象,就像上面的注释建议的那样作为方法参数提供给你。好的,那么我在调用类时会像这样传递它吗
view.adapter=ForecastAdapter(天气、上下文)
当我像这样传递它时,它会说未解决reference@ZubairAmjad
view.adapter=ForecastAdapter(天气,此)
当您在
活动中执行此操作时。或者
view.adapter=ForecastAdapter(weather,activity!!)
()如果您是从
片段执行此操作的,当我执行此操作时,它会说它需要上下文,但我假设这将指向上下文?好的,然后在调用类时,我会像这样传递它
view.adapter=ForecastAdapter(天气、上下文)
当我像这样传递它时,它会说未解决reference@ZubairAmjad
view.adapter=ForecastAdapter(天气,此)
当您在
活动中执行此操作时。或者
view.adapter=ForecastAdapter(天气,活动!!)
()如果您是从
片段执行此操作,当我执行此操作时,它会说它需要上下文,但我假设这会指向上下文?