需要newInstance方法:int,String [],String [],int找到:int,String [],int

时间:2019-05-27 13:11:05

标签: android android-fragments

我的片段newInstance出现编译器错误,有人可以告诉我我的代码有什么问题吗?

当我删除第二个String数组时,一切都按预期工作,但是传递另一个String Array会给出错误:

错误:无法将LightFragment类中的newInstance方法应用于给定类型; 必需: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地址,另一个保存了设备的类型。

稍后在片段中使用它们。

由于某种原因,我只能传递一个String数组,当我添加第二个字符串时,编译器将提供上述错误。

1 个答案:

答案 0 :(得分:0)

我找到了原因,

显然我有一个未使用的类,该类调用相同的片段但传递不同的参数。

奇怪的是,直到我打开android studio,该类才显示错误。