Ho appena trovato questo interessante messaggio dal compilatore e non so perché sta succedendo. Qui è il casoLa trasmissione al pulsante è ridondante - Perché?
Esempio 1.
Button test = (Button) findViewById(R.id.someButtonId);
test.setOnClickListener(this);
Esempio 2.
findViewById(R.id.someButtonId).setOnClickListener(this);
Nel primo esempio, devo lanciare un oggetto restituito da findViewById
a Button
. Nel secondo esempio, non è necessario eseguire il cast dell'oggetto restituito perché non ho utilizzato un altro oggetto di classe Button
. Se provo a lanciarlo tramite
((Button)findViewById(R.id.someButtonId)).setOnClickListener(this);
mi metterò l'avvertimento Casting findViewById(R.id.someButtonId) to Button is redundant
.
Perché sta succedendo? Non sto cercando di rimuovere l'avviso cast. Voglio che lo conosca la logica alla base di questo e perché la trasmissione non sia necessaria se non provo a inizializzare un altro oggetto con l'oggetto restituito da findViewById
.
http://stackoverflow.com/questions/3502690/remove-redundant-casts-in-java –
@Samir so come rimuoverlo :). Non ne ho bisogno. Sto chiedendo ** perché ** il casting non è necessario. – sandalone
:(non ricevo l'avviso – Triode