山田祥寛 著 Technical Master 98 「はじめてのAndroidアプリ開発 Kotlin編」にて誤記を見つけましたので、情報共有します。
該当部分
p.197 リスト4-19
Kotlin
class MyListAdapter(
private val context: Context,
private val data: List<ListItem>,
private val resource: Int
) : BaseAdapter() {
// 省略
override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
val item = getItem(position) as ListItem // <---ここをListItemでキャスト
// val item = getItem(position) // 元々
val sview = convertView ?: inflater.inflate(resource, null)
sview.findViewById<TextView>(R.id.title).text = item.title
sview.findViewById<TextView>(R.id.tag).text = item.tag
sview.findViewById<TextView>(R.id.desc).text = item.desc
return sview
}
}
尚、私の本は、第1版第1刷です。掲載サンプルコートを確認しましたが、修正されていませんでした。
また、ListItemでキャストしていないと、以下の図のようにエラーになります。
この修正するにあたり、山田祥寛 著 「Technical Master 93 「はじめてのAndroidアプリ開発 第3版Android Studio3対応」(java)を参考にしました。