CustomViewの罠
Custom TextViewにおいて、API 15 で Crash が発生していたので、その対応
Fatal Exception: java.lang.NoSuchMethodError: android.widget.TextView.getMaxLines at jp.co.matchingagent.cocotsure.ui.custom.ExpandableTextView.a(ExpandableTextView.kt:54) at jp.co.matchingagent.cocotsure.ui.custom.ExpandableTextView.a(ExpandableTextView.kt:14) at jp.co.matchingagent.cocotsure.ui.custom.ExpandableTextView$1.onClick(ExpandableTextView.kt:47) at android.view.View.performClick(View.java:3514) at android.view.View$PerformClick.run(View.java:14111) at android.os.Handler.handleCallback(Handler.java:605) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4457)
原因
getMaxLine()
で Crashが発生していた。→ TextView
のgetMaxLine()
は API 16以上
https://developer.android.com/reference/android/widget/TextView.html#getMaxLines()
★AppCompatActivity
の配下であればTextView -> AppCompatTextView
の自動変換がされるが、カスタムView内のレイアウトでは、TextView -> AppCompatTextView
への自動変換は行われない
対応
TextView
を AppCompatTextView
に置き換え