Ho ricevuto questo errore durante il tentativo di generare l'APK firmato. Il fatto è che la mia app è in grado di eseguire e eseguire il debug normalmente sul mio dispositivo. Non so perché quando provo a generare APK, questo errore è venuto fuori. Come ignorare questo errore e generare l'APK firmato? Sto usando Android Studio 1.2.1.1 per Mac.Come ignorare l'errore "evita costruttori non predefiniti in frammenti"?
risposta
Trovato la soluzione. Il modo più semplice è quello di aggiungere questi al Gradle:
android {
lintOptions {
checkReleaseBuilds false
}
}
O un altro modo è quello di aggiungere @SuppressLint("ValidFragment")
Non si dovrebbe avere un costruttore non predefinito in frammento. Puoi aggiungere un metodo statico, come getInstance (i tuoi argomenti ...) e creare un nuovo frammento da lì e impostare quegli argomenti sul tuo frammento – Heisenberg
Guarda questo esempio: http://www.androiddesignpatterns.com/2012/05/using- newinstance-to-instantiate.html – Heisenberg
Lavoro Grazie :) – InsaneCat
E 'nel contratto del Frammento: "Ogni frammento deve avere un costruttore vuoto, quindi può essere istanziato quando si ripristina lo stato della propria attività Si raccomanda fortemente che le sottoclassi non abbiano altri costruttori con parametri, poiché questi costruttori non essere chiamato quando il frammento viene riattivato, invece gli argomenti possono essere forniti dal chiamante con setArguments (Bundle) e successivamente recuperati dal Fragment con getArguments(). "
spegnere lint
completamente non è una soluzione decente se si desidera continuare a utilizzare i vantaggi di esso. Se qualcuno viene in questo, trovo spegnendo l'errore specifico solo una soluzione più elegante:
android {
lintOptions {
disable 'ValidFragment'
}
}
Per me ha funzionato solo la combinazione delle due risposte precedenti:
android {
lintOptions {
disable 'ValidFragment'
checkReleaseBuilds false
}
}
Ma ricordate, questi un patch errata per evitare avvisi/errori di sfilacciamento, la soluzione è di adattare il costruttore Fragment a un frammento di costruttore statico di Fragment newInstance (params) pubblico.
- 1. Costruttori di errore non predefiniti in frammenti
- 2. Dagger sui costruttori predefiniti
- 3. Posizionamento costruttori nuovi e non predefiniti
- 4. Costruttori predefiniti ed ereditarietà in Java
- 5. Perché i costruttori di copie non sono "concatenati" come costruttori o distruttori predefiniti?
- 6. Initalizzazione array membro C++ senza costruttori predefiniti
- 7. I costruttori predefiniti definiti dall'utente sono meno efficienti?
- 8. Ereditando i costruttori w/wo i loro argomenti predefiniti?
- 9. Non è possibile definire i valori predefiniti se definisco più costruttori sovraccaricati in Scala?
- 10. Attributi personalizzati nei frammenti Android
- 11. Come creare un array in stile C senza chiamare costruttori predefiniti?
- 12. Non ignorare node_modules in Atom
- 13. Come iniettare gestori di entità non predefiniti?
- 14. Frammenti di codice non indentati
- 15. Evita SHOW FIELDS in ActiveRecord
- 16. Argomenti predefiniti come variabili membro non statiche
- 17. utilizzando le preferenze non predefiniti in PreferenceActivity
- 18. Refactoring grandi costruttori
- 19. Frammenti Viewpager e frammenti normali
- 20. Frammenti come classi statiche
- 21. PagerAdapter.notifyDataSetChanged non aggiorna i frammenti
- 22. ViewPager + Frammenti - Frammento non mostrato
- 23. jquery.validation - come ignorare i valori predefiniti durante la convalida dei campi obbligatori
- 24. Come ignorare eccezioni in Java
- 25. Frammenti dinamici in Android
- 26. Come ignorare NaN in colorbar?
- 27. Perché il costruttore ereditato non dovrebbe ereditare gli argomenti predefiniti?
- 28. Costruttori alternativi in Python
- 29. Come ignorare gli argomenti non necessari?
- 30. Come ignorare LongPress in ListFragment?
quale errore, è possibile inserire l'errore? – 3xplore
Dovresti sempre lasciare vuoti i countructors dei frammenti, tutto il lavoro di initalizzazione dovrebbe essere fatto nel metodo onCreate(). – pawelo
Beh, sono più interessato a ignorare l'errore. Come mai la mia app può essere eseguita normalmente senza errori durante il debug, quando si genera APK viene emesso solo questo messaggio di errore? – user2872856