java - Error:(31, 39) error: cannot find symbol variable context -
this question has answer here:
i integrating parse existing android application. said, following documentation, have managed create compile error of following:
error:(31, 39) error: cannot find symbol variable context
the code creates error below.
import android.content.intent; import android.os.bundle; import android.provider.syncstatecontract; import android.support.v7.app.actionbaractivity; import android.util.log; import android.view.view; import android.widget.textview; import com.facebook.request; import com.facebook.response; import com.facebook.session; import com.facebook.sessionstate; import com.facebook.uilifecyclehelper; import com.facebook.model.graphuser; import com.parse.parse; import com.parse.parsefacebookutils; public class mainactivity extends actionbaractivity { // create, automatically open (if applicable), save, , restore // active session in way similar android ui lifecycles. private uilifecyclehelper uihelper; private view otherview; private static final string tag = "mainactivity"; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); parse.initialize(this, "parse application id removed security reasons", "parse client id removed security reasons"); parsefacebookutils.initialize(context); setcontentview(r.layout.activity_main); // set view should visible after log-in invisible otherview = (view) findviewbyid(r.id.other_views); otherview.setvisibility(view.gone); // maintain fb login session uihelper = new uilifecyclehelper(this, callback); uihelper.oncreate(savedinstancestate); } // called when session changes private session.statuscallback callback = new session.statuscallback() { @override public void call(session session, sessionstate state, exception exception) { onsessionstatechange(session, state, exception); } }; // when session changed, method called callback method private void onsessionstatechange(session session, sessionstate state, exception exception) { final textview name = (textview) findviewbyid(r.id.name); final textview gender = (textview) findviewbyid(r.id.gender); final textview location = (textview) findviewbyid(r.id.location); // when session opened (user logged-in) if (state.isopened()) { log.i(tag, "logged in..."); //opens new activity view user can edit profile. startactivity(new intent(mainactivity.this, setupprofileactivity.class)); /*// make request /me api graph user request.newmerequest(session, new request.graphusercallback() { // callback after graph api response user // object @override public void oncompleted(graphuser user, response response) { if (user != null) { // set view visibility true otherview.setvisibility(view.visible); // set user name name.settext("hello " + user.getname()); // set gender gender.settext("your gender: " + user.getproperty("gender").tostring()); location.settext("your current location: " + user.getlocation().getproperty("name") .tostring()); } } }).executeasync();*/ } else if (state.isclosed()) { log.i(tag, "logged out..."); otherview.setvisibility(view.gone); } } @override public void onactivityresult(int requestcode, int resultcode, intent data) { super.onactivityresult(requestcode, resultcode, data); parsefacebookutils.onactivityresult(requestcode, resultcode, data); uihelper.onactivityresult(requestcode, resultcode, data); log.i(tag, "onactivityresult..."); } @override public void onresume() { super.onresume(); uihelper.onresume(); } @override public void onpause() { super.onpause(); uihelper.onpause(); } @override public void ondestroy() { super.ondestroy(); uihelper.ondestroy(); } @override public void onsaveinstancestate(bundle outstate) { super.onsaveinstancestate(outstate); uihelper.onsaveinstancestate(outstate); } }
according parse's documentation supposed call parsefacebookutils.initialize(context); in oncreate method, did. compiler cannot find symbol reference though have imported relevant classes.
searching through stackoverflow , google know related compiler not being able find context wondering if initializing in wrong place or need override oncreate function (which think did).
thanks in advance help.
if want pass context, use this
(i.e. activity
instance).
change
parsefacebookutils.initialize(context);
to
parsefacebookutils.initialize(this);
Comments
Post a Comment