如何在RecyclerView的类中的方法内部获取资源

时间:2019-09-19 20:52:30

标签: android kotlin

我在与RecyleView的适配器类相同的类中有一个“ insert_data()”函数。使用这种方法,我将填充一个数组。

该方法在单击“ setOnClickListener”后有效。

所以onBindViewHolder方法的代码如下,

fun insert_data(categoryArraylist: ArrayList<String>,arrayID:Int) {

    var obje = AppCompatActivity()

    var Category = obje.resources.getStringArray(R.array.EstateCategory)

    for (i in 0..obje.resources.getStringArray(R.array.realEstateCategory).size -1 ){

        categoryArraylist.add(Category[i])
    }
}

和“ insert_data()”方法的代码如下,

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference

使用这种方法时,我无法到达“资源”。为了解决这个问题,我从AppCombatActivity类创建了对象。但是它在“ var obje = AppCompatActivity()”行中给出了如下错误。

library(aws.dynamodb)
Sys.setenv("AWS_ACCESS_KEY_ID" = "awsaccesskeyid", "AWS_SECRET_ACCESS_KEY" = "awssecretaccesskey", "AWS_DEFAULT_REGION" = "us-east-1")
list_tables()

如何通过这种方法获取资源? “ this”或“ context”无效。

1 个答案:

答案 0 :(得分:1)

itemView传递到insertData方法中,并像在其他地方调用资源一样调用资源

insertData(itemView: View) {// along with your other parameters

    itemView.resources.getStringArray(..)
}