Android 0, limpar elenco
Uma das coisas que o Google anuncia no IO 2017 é algo chamado 'rejeitar' :). O desenvolvedor do Android não precisa fazer uma transmissão manual para findViewById (). Por exemplo, a maneira antiga de obter uma exibição de texto usando findViewById () seria algo como isto.
TextView txtDesc = (TextView) findViewById(R.id.textViewDesc);
txtDesc.setText(getString(R.string.info_angkot_description));
Enquanto o novo caminho seria assim
TextView txtDesc = findViewById(R.id.textViewDesc);
txtDesc.setText(getString(R.string.info_angkot_description));
É uma simples mudança. Mas para um programador experiente, um código limpo como esse pode deixá-lo muito feliz e ajuda no seu humor de codificação :)
Para poder fazer isso, você só precisava definir a versão sdk compilada do projeto para a versão 26 em seu aplicativo build.gradle.
Você ainda pode segmentar a versão anterior do sdk também, por isso é uma alteração não intrusiva.
Agora, o verdadeiro problema, como você limpa esse código antigo que usa a conversão o tempo todo. Especialmente quando você tem centenas de arquivos de atividade. Você pode fazê-lo manualmente, ou talvez contrate um estagiário para fazê-lo 😛. Mas, felizmente, para todos os estagiários, o Android Studio já está preparado para nos ajudar com isso.
Quando você coloca o cursor (ou clica na transmissão redundante), o Android Studio sugere 2 opções para lidar com a transmissão redundante.
Primeiro, ele sugerirá remover essa conversão redundante ou você pode selecionar o código de limpeza. Ele removerá toda a conversão redundante para esse arquivo. Isso é melhor, mas queremos mais. Não queremos abrir cada arquivo e limpar isso um por um.
Uma das coisas que tornam o IntelliJ ideal é o recurso que é chamado de ação intencional. Tudo o que você precisa fazer é pressionar ctrl + shift + A e depois digitar clean. E selecione Ação de limpeza de código e selecione todo o escopo do projeto. Com essas etapas simples, seu código ficará muito mais limpo.
Um ponto importante é que você faz isso com algum sistema de versão de código. Dessa forma, você pode comparar as alterações que estão sendo feitas pela ação de intenção e reverter os arquivos que desejar.
Copiado da postagem original:
https://medium.com/@abangkis/android-0-clean-up-casting-c30acec56cef
<T extends View> T findViewById(int id)
?