Android Studio:这个错误是什么意思?

时间:2018-05-09 13:16:50

标签: java android android-studio

我正在使用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;
}

1 个答案:

答案 0 :(得分:0)

Java中的

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();