我正在使用Android Studio制作应用程序,但在启动应用程序时我遇到了此错误:
错误:(45,61)错误:从版本8开始,'这个'被允许作为 仅接收器类型的参数名称,必须是第一个 参数
此代码中只有一些红线
Sender s = new Sender(getActivity().this, urlAddress, parameter1,parameter2,parameter3,parameter4,parameter5);
s.execute();
这是使用此代码的Tab片段:
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.text, container, false);
return view;
}
答案 0 :(得分:0)
this
指的是当前对象...在您的情况下是您从中调用代码的片段。
getActivity()
指的是片段附加到的活动。
所以getActivity().this
实际上并不意味着什么。如果您尝试获取上下文,则必须使用getActivity()
而不使用.this
,因为活动会扩展上下文
如果您在片段中执行代码,请使用
Sender s = new Sender(getActivity(),
urlAddress,
parameter1,
parameter2,
parameter3,
parameter4,
parameter5);
s.execute();
如果它在活动中使用
Sender s = new Sender(this,
urlAddress,
parameter1,
parameter2,
parameter3,
parameter4,
parameter5);
s.execute();