Изправен съм пред проблема на някои устройства и получавам грешка в анализа на срива си. Много потребителски устройства са изправени пред този проблем, но на моето устройство работи добре.

фрагменти

Не може да се стартира дейност ComponentInfo: android.support.v4.app.Fragment $ InstantiationException: Не може да се създаде екземпляр на фрагмент com.alchemative.outfitters.outfitters.fragments.ProductsFragment: не може да се намери конструктор на фрагменти

Грешката идва на линията, която е в активност super.onCreate (savedInstanceState);

Ето конструктора на ProductsFragment

3 отговора 3

Всички Fragment класове, които създавате трябва да имат публичен конструктор без аргументи. Като цяло най-добрата практика е просто никога да не дефинирате никакви конструктори и да разчитате на Java, за да генерирате конструктора по подразбиране за вас. Но можете да напишете и нещо подобно:

Ако вашият фрагмент се нуждае от допълнителна информация, като String id във вашия публикуван пример, общ модел е да се дефинира статичен "фабричен метод" на newInstance (), който ще използва аргументите Bundle, за да даде тази информация на вашия фрагмент.