我正在我的 Android 应用程序中创建我的第一个 Kotlin 类。通常,出于日志记录目的,我有一个名称为 TAG 的常量。我在回收器视图适配器中将其定义为:
class MyAdapter(private val dataList: ArrayList<MyData>): RecyclerView.Adapter<MyAdapter.ViewHolder>() {
private val TAG: String? = MyAdapter::class.simpleName
.
.
.
class ViewHolder(v: View) : RecyclerView.ViewHolder(v), View.OnClickListener {
fun bindData(){
//some statements
}
override fun onClick(p0: View?) {
//I want to use the above defined TAG here as I would do in Java:
// Log.d(TAG, "");
}
}
}
我无法访问 onClick(( 中的变量 TAG
您可以将ViewHolder类设置为inner
使用companion object
:
class MyAdapter(private val dataList: ArrayList<String>) :
RecyclerView.Adapter<MyAdapter.ViewHolder>() {
class ViewHolder(v: View) : RecyclerView.ViewHolder(v), View.OnClickListener {
fun bindData() {
//some statements
}
override fun onClick(p0: View?) {
Log.d(TAG, "")
}
}
companion object {
val TAG: String? = MyAdapter::class.simpleName
}
}
你也可以把
private val TAG: String? = MyAdapter::class.simpleName
在文件的顶层。