Ho letto alcuni articoli e risposte (incluso this one) riguardo al codice deprecato, ma sono un po 'confuso su come gestire (in particolare) il gestore di eventi Fragment
obsoleto onInflate
.Qual è il modo corretto di gestire gli eventi Fragment deprecati su Attacco e onInflate
ho sostituito il mio attuazione
public void onInflate(Activity activity, AttributeSet attrs, Bundle savedInstanceState)
con
public void onInflate(Context context, AttributeSet attrs, Bundle savedInstanceState)
Se eseguo la mia applicazione su una macchina < API23, il codice di sostituzione non viene chiamato.
Se ripristino il codice deprecato originale (in modo che ora entrambi i metodi siano implementati), viene chiamato il codice deprecato, restituisce funzionalità corrette, ma una chiamata viene ora eseguita su un metodo deprecato (?).
E quando eseguo l'app su una macchina API23, sembra che ENTRAMBI le versioni del gestore siano chiamate.
Quindi la domanda è, cosa sta succedendo qui? Se sto scrivendo un codice che dovrebbe essere eseguito su entrambe le versioni API23 e precedenti, devo implementare i metodi deprecati e quelli nuovi?
E se questo è il caso, ho bisogno di dare la caccia e implementare altri metodi deprecati "just in case"? (E, di conseguenza, v'è un elenco di questi metodi deprecati a "back-code" per?)
UPDATE:
Ora ho cambiato da utilizzare android.app.Fragment
-android.support.v4.app.Fragment
(cioè dal nativo frammenti per supportare i frammenti) e l'app si sta comportando come previsto, con il codice del gestore sostitutivo in esecuzione per tutte le versioni e sta passando attraverso la sorgente Android come previsto.
Ma la domanda rimane: PERCHÉ?
Perché è l'implementazione "nativa" android.app.Fragment
**** ed è attiva? Ripercorrendo le domande precedenti, questo problema è stato discusso a settembre 2015. Quindi perché è ancora un problema? E perché dovrebbe esserci una differenza nell'implementazione del supporto e dei frammenti nativi dopo l'API 11?
Grazie per la modifica del deprecato a deprecato. Non mi ero mai reso conto di essere così dislessico! :) – SimonH