Некоторые из моих пользователей возникают сбои, и это ошибка, которая показывает в отчете об аварии на Google Play Developer Console:Фрагмент Инстанцирование аварии
Unable to start activity ComponentInfo{com.havens1515.autorespond/com.havens1515.autorespond.SettingsMenuNew}: android.app.Fragment$InstantiationException: Unable to instantiate fragment com.havens1515.autorespond.NotificationOptions: make sure class name exists, is public, and has an empty constructor that is public
Пользователи говорят, что это происходит при открытии любой меню настроек внутри SettingsMenuNew
, о котором говорится в приведенной выше ошибке, но я не испытываю аварии на моем телефоне. SettingsMenuNew
является PreferenceActivity
и все подменю являются PreferenceFragment
PreferenceFragment
Каждый имеет пустой конструктор, и я не знаю, что еще может быть проблема. Я также видел в чьем-то другом вопросе, что ему нужен метод newInstance
, но я не думаю, что мне это действительно нужно, если я не ставил никаких других аргументов в этот фрагмент.
вот некоторый код, показывающий те методы:
public class NotificationOptions extends PreferenceFragment
{
public NotificationOptions()
{
}
public static NotificationOptions newInstance(int title, String message)
{
NotificationOptions f = new NotificationOptions();
return f;
}
...
}
Если NotificationOptions является внутренним классом, он должен быть статическим. –
Это не внутренний класс, он находится в собственном файле – Randy
Возможно, вы забыли добавить его в исключение proguard или использовать неправильную конфигурацию proguard. –