Guardando il codice sorgente per TypedArray (link), non riesco a capire quale sia la differenza tra questi due metodi. getInt()
è praticamente lo stesso di getInteger()
, ma con una piccola aggiunta alla fine che non capisco. Qualcuno può spiegarmelo?Qual è la differenza tra TypedArray.getInteger() e TypedArray.getInt()?
La ragione per cui ho bisogno di sapere la differenza è che sto implementando una sottoclasse Preference personalizzata, e per ottenere il valore predefinito ho bisogno di sovrascrivere onGetDefaultValue()
, che acquisisce un numero intero da un TypedArray. Esempio:
@Override
protected Object onGetDefaultValue(TypedArray a, int index)
{
return a.getInteger(index, DEFAULT_VALUE);
}
Qui sto usando getInteger()
, ma se getInt()
è meglio, quindi userò questo.
Grazie. Quindi quale useresti per 'onGetDefaultValue()'? Penso che andrò con 'getInt()' perché "cerca un po 'più difficile" e restituirà almeno qualcosa. –
Hmmm, ho appena testato entrambi con input non-non non nullo (specificato una stringa senza senso per l'attributo 'android: defaultValue' XML) e sembra che entrambi generino eccezioni se viene rilevato un valore sconosciuto ('getInt()' genera un'eccezione se la riga XMLUtils non riesce). Quindi non penso che importi davvero ciò che è usato in 'onGetDefaultValue()' ... –