Android 0, очищення кастингу
Одна з речей, яку Google оголошує в IO 2017 - це те, що називається "відкинутий" :). Розробнику Android не потрібно робити кастинг вручну для FindViewById (). Наприклад, старий спосіб отримати перегляд тексту за допомогою findViewById () був би приблизно таким.
TextView txtDesc = (TextView) findViewById(R.id.textViewDesc);
txtDesc.setText(getString(R.string.info_angkot_description));
Тоді як новий спосіб був би таким
TextView txtDesc = findViewById(R.id.textViewDesc);
txtDesc.setText(getString(R.string.info_angkot_description));
Це проста зміна. Але для досвідченого програміста чистий код на зразок цього може зробити вас дуже щасливим, і це допоможе в настрої кодування :)
Щоб зробити це, вам потрібно було лише встановити компільовану версію SDK для вашого проекту на версію 26 у вашому додатку build.gradle.
Ви все ще можете націлити на попередню версію sdk, тому це не нав'язливі зміни.
Тепер справжня проблема, як ви очистите той старий код, який використовує кастинг весь цей час. Особливо, коли вам подобаються сотні файлів активності. Ви можете це зробити вручну, або, можливо, найняли стажиста для цього 😛. Але, на щастя, для всіх цих стажерів, андроїд-студія вже готова допомогти нам у цьому.
Коли ви покладете свою карету (або натисніть на надлишковий кастинг), андроїд-студія запропонує 2 варіанти обробляти надлишковий кастинг.
Спочатку він запропонує видалити цей надлишковий склад, або ви можете вибрати очистити код. Це видалить увесь зайвий склад для цього файлу. Це краще, але ми хочемо більше. Ми не хочемо відкривати кожен файл і робити це очищення по одному.
Однією з речей, які роблять IntelliJ ідеєю Особливою, є те, що функція називається наміром дії. Все, що вам потрібно зробити, це натиснути клавішу ctrl + shift + A, а потім набрати очищення. І виберіть дію «Очищення коду» та виберіть весь обсяг проекту. З допомогою цих декількох простих кроків ваш код буде набагато чистішим.
Важливим моментом є те, що ви робите це з деякою системою версії коду. Таким чином ви можете порівняти зміни, які були внесені в результаті наміру, та відновити будь-які потрібні файли.
Скопійовано з оригінальної публікації:
https://medium.com/@abangkis/android-0-clean-up-casting-c30acec56cef
<T extends View> T findViewById(int id)
?