Intereting Posts
Как мы можем создать цилиндрический просмотрщик? Версия Android Min SDK vs. Target SDK Version Есть ли обратный вызов, когда RecyclerView закончил показ своих элементов после того, как я установил его с помощью адаптера? Просмотр списка с группами в android Run-as Пакет «abc» неизвестен – Galaxy S4 Jellybean или Android 4.3 Утечка памяти MediaControllerCompat Отображать встроенные клавиши emoji для ввода метода Android – программно изменяет состояние переключателя без запуска OnCheckChanged прослушивателя Как вы визуализируете текст в файле xml-файла на уровне android? Почему у меня ошибка при попытке переопределить общий привязку с Guice? (TypeLiteral) Как быстро добавлять ярлыки приложений в android Как работает детектор функций ORCV ORB? MediaStore.Images.Thumbnails.getThumbnail возвращает неверный миниатюру вместо NULL IndeterminateProgressBar в стиле ActionBar – проблема с заполнением Десериализация массива дескрипторов объектов android jackson json

Не нужно бросать результат findViewById?

Недавно я обнаружил, что AndroidStudio напоминает мне, чтобы удалить класс. Я помню, что в прежние времена нам нужно было отобрать результат findViewById, но теперь это не обязательно.

Результат findViewById по-прежнему является View, поэтому я хочу знать, почему нам не нужно бросать класс?

Я не могу найти никаких упоминавшихся документов, может ли кто-нибудь найти какой-либо документ?

Solutions Collecting From Web of "Не нужно бросать результат findViewById?"

Начиная с API 26, findViewById использует вывод для возвращаемого типа, поэтому вам больше не нужно делать.

Старое определение:

 View findViewById(int id) 

Новое определение:

 <T extends View> T findViewById(int id) 

Так что если ваш targetSdk не менее 26, это означает, что вы можете использовать это 🙂

Android Studio напоминает удалить кастинг, если вы используете общие атрибуты класса View , такие как видимость или некоторые распространенные методы, такие как onClick ()

Например:

 ((ImageView) findViewById(R.id.image_car)).setVisibility(View.VISIBLE); 

В этом случае вы можете просто написать:

 findViewById(R.id.image_car).setVisibility(View.VISIBLE);