我在与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”无效。
答案 0 :(得分:1)
将itemView
传递到insertData
方法中,并像在其他地方调用资源一样调用资源
insertData(itemView: View) {// along with your other parameters
itemView.resources.getStringArray(..)
}