我的片段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数组,当我添加第二个字符串时,编译器将提供上述错误。
答案 0 :(得分:0)
我找到了原因,
显然我有一个未使用的类,该类调用相同的片段但传递不同的参数。
奇怪的是,直到我打开android studio,该类才显示错误。