Ответ 1
-
как использовать
setTextAppearance(int resId)
для более старых версий?Используйте его следующим образом:
if (Build.VERSION.SDK_INT < 23) { super.setTextAppearance(context, resId); } else { super.setTextAppearance(resId); }
За дополнительной информацией: fooobar.com/questions/189074/...
-
Почему это устарело? Почему он больше не нуждается в Контексте?
Причина, по которой она устарела, не нуждается в передаче
context
. Он использует контекст по умолчанию, предоставляемыйView
. Посмотрите на исходный код ниже. Это должно объяснить это.public void setTextAppearance(@StyleRes int resId) { setTextAppearance(mContext, resId); }
mContext
здесь определяется в классеView
. Поэтому вам больше не нужно передаватьcontext
этому методу.TextView
будет использовать контекст, предоставленный ему во время его создания. Это имеет смысл.