Требуется метод newInstance: int, String [], String [], найдено int: int, String [], int - PullRequest
0 голосов
/ 27 мая 2019

Я получаю сообщение об ошибке компиляции для моего фрагмента newInstance, может кто-нибудь сказать мне, что не так с моим кодом?

Когда я удаляю второй массив String, все работает как положено, но при передаче другого String Array выдается ошибка:

ошибка: метод newInstance в классе LightFragment нельзя применять к данным типам; обязательно: int, String [], String [], int найдено: int, String [], int причина: фактические и формальные списки аргументов различаются по длине

Фрагмент вызова:

`return LightFragment.newInstance(position+1,devicesMacArray,devicesTypeArray, deviceCounter);`

и в моем классе Fragment:

`public static LightFragment newInstance(int pageNumber, String[] deviceMac,String[] deviceType, int numOfDevices) {
    LightFragment fragment = new LightFragment();
    Bundle args = new Bundle();
    args.putInt("PageNumber", pageNumber);
    args.putInt("numberOfDevices", numOfDevices);
    args.putStringArray("deviceMacArray",deviceMac);
    //args.putStringArray("deviceTypeArray",deviceType);
    fragment.setArguments(args);
    return fragment;
}`

Я передаю два строковых массива: один сохранил адреса Mac, а другой - тип устройства.

позже, чтобы использовать их во фрагменте.

По какой-то причине я могу передать только один массив строк, как только я добавлю второй, компилятор выдаст ошибку, упомянутую выше.

1 Ответ

0 голосов
/ 27 мая 2019

Я нашел причину,

Очевидно, у меня был неиспользуемый класс, который вызывает один и тот же фрагмент, но передает разные аргументы.

странно, андроид студия не показывала ошибку в этом классе, пока я не открыл его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...