2013-09-03 18 views
9

fino ad ora non sono riuscito a trovare nessuna risposta adatta al mio problema/domanda. In Android Studio mostra spesso un avviso che ad es. findViewById può produrre un NPE, anche se so che l'elemento è già presente nel layout che utilizzo. Inoltre non ho mai lanciato un NPE in questa posizione in fase di esecuzione, quindi perché l'avviso/avviso?Avvisi/avvisi di nullpointer in studio Android nella vista codice

Non so come devo reagire/gestire tali avvisi/informazioni nella vista codice? Ci sono suggerimenti per evitare quei messaggi (perché per me sembra un codice valido e funzionante)? Sono solo gli avvertimenti nella vista del codice, a rendermi incerto.

Ecco uno snippet in cui viene visualizzato un avviso su findViewByID.

//fetch predefined item layout 
row = inflater.inflate(R.layout.view_searchresult_item,null); 
//get table layout for inserting items 
TableLayout itemtablelayout = (TableLayout)row.findViewById(R.id.resultitem_tablelayout); 
+0

Gli avvisi non sono un errore. E l'avvertimento di cui parli dice "può produrre", non dire "deve produrre". Quindi la scelta è tua. O aggiungere il controllo nullo o no –

+1

Ecco a cosa mira la mia domanda. Come si fa di solito? Nullcheck per ogni avviso? In questo caso sono abbastanza sicuro che non succede mai nulla, perché l'id/item è sempre presente. Ovviamente, per i casi variabili viene usato un nullcheck. – Skullcrasher

+0

Ho detto "Quindi la scelta è tua". Se sei sicuro che 'findViewById' nel tuo codice non sarà mai causa di NPE, non aggiungere il controllo Null. –

risposta

3

Attenzione non è un errore. E l'avvertimento di cui parli dice "può produrre", non dire "deve produrre". Quindi la scelta è tua. O aggiungere assegno null o non


Quindi, se si è certi che findViewById nel codice sarà mai causa di NPE, quindi non aggiungere il controllo nullo.

+6

come disabilitare questa impostazione? –

Problemi correlati