Android 构造函数EventUpdater(EventDetails,Event)未定义
我得到了以下编译时错误。下面我指出了错误行 构造函数EventUpdater(EventDetails,Event)未定义 EventDetails.java:Android 构造函数EventUpdater(EventDetails,Event)未定义,android,Android,我得到了以下编译时错误。下面我指出了错误行 构造函数EventUpdater(EventDetails,Event)未定义 EventDetails.java: package com.steph.event; import android.app.Activity; import android.support.v4.app.Fragment; public class EventDetails extends Fragment { private Event eve; p
package com.steph.event;
import android.app.Activity;
import android.support.v4.app.Fragment;
public class EventDetails extends Fragment {
private Event eve;
private Users usr;
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.event_details, container, false);
return v;
}
private void saveEventDetails() {
String strAuthenticator = "email=" + usr.getEmail() + "&sig="
+ usr.getPassword();
if (isNew) // call the POST method to create new event
(new EventUpdater(this, eve)).execute("?" + strAuthenticator, ----> Compile Error
"POST");
else
// call the PUT method to update the current event
(new EventUpdater(this, eve)) ----->Compile Error
.execute("?" + strAuthenticator, "PUT");
}
}
package com.steph.event;
public class EventUpdater extends AsyncTask<String, Void, String> {
private final ProgressDialog dialog;
private Activity mContext;
JSONObject oJSONObject = new JSONObject();
Event oEvent = new Event();
/*
* Default constructor to set the current activity and event object as a
* reference
*/
public EventUpdater(Activity ct, Event pry) {
this.mContext = ct;
this.oEvent = pry;
dialog = new ProgressDialog(mContext);
}
}
EventUpdater.java:
package com.steph.event;
import android.app.Activity;
import android.support.v4.app.Fragment;
public class EventDetails extends Fragment {
private Event eve;
private Users usr;
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.event_details, container, false);
return v;
}
private void saveEventDetails() {
String strAuthenticator = "email=" + usr.getEmail() + "&sig="
+ usr.getPassword();
if (isNew) // call the POST method to create new event
(new EventUpdater(this, eve)).execute("?" + strAuthenticator, ----> Compile Error
"POST");
else
// call the PUT method to update the current event
(new EventUpdater(this, eve)) ----->Compile Error
.execute("?" + strAuthenticator, "PUT");
}
}
package com.steph.event;
public class EventUpdater extends AsyncTask<String, Void, String> {
private final ProgressDialog dialog;
private Activity mContext;
JSONObject oJSONObject = new JSONObject();
Event oEvent = new Event();
/*
* Default constructor to set the current activity and event object as a
* reference
*/
public EventUpdater(Activity ct, Event pry) {
this.mContext = ct;
this.oEvent = pry;
dialog = new ProgressDialog(mContext);
}
}
package com.steph.event;
公共类EventUpdater扩展了AsyncTask{
私人对话;
私人活动mContext;
JSONObject oJSONObject=新的JSONObject();
Event oEvent=新事件();
/*
*默认构造函数将当前活动和事件对象设置为
*参考文献
*/
公共事件更新程序(活动ct、事件窥探){
this.mContext=ct;
this.oEvent=撬动;
dialog=新建ProgressDialog(mContext);
}
}
我不知道如何解决这个编译错误。任何人都可以帮我解决这个问题。您正在传递“this”,它指的是片段而不是活动,所以在构造函数参数上传递活动上下文
EventUpdater(this, eve))
解决为
EventUpdater(getActivity(), eve))
希望这对您有所帮助:)在
片段中尝试这种方法
new EventUpdater(getActivity(), eve).execute("?" + strAuthenticator,"POST");
谢谢你的作品很好,几分钟后我会接受你的答案。现在它显示出一些错误。