トップ 最新

かってきままな日々

2019-11-04 (Mo) [長年日記]

_ kotlin で overload resolution ambiguity がなかなか取れなかった話

ListView から RecyclerView に移行した。

    private inner class ItemViewHolder(view: View): RecyclerView.ViewHolder(view) {
	public val itemView: LinearLayout = view.findViewById<LinearLayout>(R.id.context_item)
        // ...
    }

この itemView を使おうとすると、コンパイラが overload resolution ambiguity と言って 通してくれない。ambiguity ってことで、何と何が区別できないのかも出力されていて、 @NotNull かどうかが違っていた。

@NotNull じゃない方は、上のコードをいろいろ変えると、それに合わせて変わってくれるが、 @NotNull の方は変化しない。

ぐぐっても、いろいろ情報は出てくるけど、私に該当するものは出てこない。

さんざん悩んで、試しに変数名を itemView から item_view に変更してみたら通った。

たぶんあれだ、親クラスに itemView が private で存在してるんだろうな、と思った。

https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder#itemview

と思ったら、しっかり明記されていた orz 何の説明もないけど。

_ 二段階認証、破られる

っていうか、

https://matome.naver.jp/odai/2157284956699783101

まぁそりゃあるだろうなぁ... 偽サイトに自分で認証情報を送れば、そりゃ何でもありでしょ。

今までなんでほとんど見なかったかっていうと、二段階認証の知名度が低すぎたからだろうし…