У меня есть функция "insert_data ()" в одном классе с классом адаптера RecyleView.С помощью этого метода я буду заполнять массив.
Этот метод работает после нажатия «setOnClickListener».
Так что коды методов onBindViewHolder приведены ниже,
override fun onBindViewHolder(holder: adsViewHolder, position: Int) {
holder.itemView.txt_ads.text = category[position]
holder.itemView.setOnClickListener(){
if (holder.itemView.txt_ads.text.contains("Estate")){
var arrayID = holder.itemView.resources.getIdentifier("EstateCategory","array", holder.itemView.context.packageName )
var category_arraylist = ArrayList<String>(9)
i**nsert_data(category_arraylist,arrayID)**
var mylinearlayout = LinearLayoutManager(holder.itemView.context,LinearLayoutManager.VERTICAL, false)
holder.itemView.myAdsRecycleView.layoutManager = mylinearlayout
var myadapter = adsRecyleAdapter(category_arraylist)
holder.itemView.myAdsRecycleView.adapter = myadapter
}
}
}
иНиже приведены коды метода "insert_data ()",
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])
}
}
. В этом методе я не могу добраться до "ресурсов".Чтобы решить эту проблему, я создал объект из класса AppCombatActivity.Но это выдает ошибку, как показано ниже в строке «var obje = AppCompatActivity ()».
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
Как мне получить доступ к ресурсам с помощью этого метода?«this» или «context» не работает.