我正在尝试在recyclerview中设置视图的文本。
我正在关注以下示例:https://antonioleiva.com/kotlin-android-extensions/
我已将他们建议的插件添加到
import kotlinx.android.synthetic.main.email_list_item.view.tv_email_subject
import kotlinx.android.synthetic.main.email_list_item.view.*
import kotlinx.android.synthetic.main.email_list_item.tv_email_subject
import kotlinx.android.synthetic.main.email_list_item.*
class EmailAdapter(val emails: Observer<List<List<String>>>, val emailcontext: Context) :
android.support.v7.recyclerview.extensions.ListAdapter<List<List<String>>,RecyclerView.ViewHolder>(ListItemCallback()) {
//private val mOnClickListener:OnClickListener = OnClickListener()
private val tvEmailSubject = tv_email_subject
private val tvEmailFrom = view.tv_email_from
private val tvEmailSynopsis = view.tv_email_synopsis
private val tvEmailTags = view.tv_email_tags
import语句可以识别我要访问的视图,但是在我的类中,当我尝试设置val tvEmailSubject = tv_email_subject
时,即使已显式导入,它也告诉我“未解析的引用”。
如何以这种方式设置班级中的文字?
答案 0 :(得分:0)
将此代码移到视图保持器中。适配器本身没有视图,因此无法提取任何这些视图引用。适配器初始化时将不会呈现它们。
您在url中显示的示例将其放在OnCreate中。视图已创建,因此可以访问这些元素。适配器的工作原理有所不同。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
welcomeMessage.text = "Hello Kotlin!"
}