开始从非活动类的新活动

2023-09-12 05:09:12 作者:黑盖子(?)

我要开始实现承接DialogListener非活性类的新activiy是我的code:

I want to start a new activiy in non-Activity class that implements a DialogListener following is my code:

public class FacebookLoginDialog implements DialogListener {
    @Override
    public void onComplete(Bundle values) {
        HomeActivity.showInLog(values.toString());

        Intent i1 = new Intent (this, SearchActivity.class);
        startActivity(i1);
    }

    @Override
    public void onFacebookError(FacebookError e) {
        // TODO Auto-generated method stub
    }

    @Override
    public void onError(DialogError e) {
        // TODO Auto-generated method stub
    }

    @Override
    public void onCancel() {
        // TODO Auto-generated method stub
    }
}

我不能使用意图的onComplete方法请帮助启动新的活动。 谢谢

I can't start new activity using intent in onComplete method please help . Thanks

推荐答案

这不起作用,因为你需要一个上下文,以启动一个新的活动。您可以重新组织你的班级分成是这样的:

This doesn't work because you need a Context in order to start a new activity. You can reorganize your class into something like this:

public class FacebookLoginDialog implements DialogListener {
     private final Context context;

     public FacebookLoginDialog(Context context) {
         this.context = context;
     }

     @Override
     public void onComplete(Bundle values) {
         HomeActivity.showInLog(values.toString());

         Intent i1 = new Intent (context, SearchActivity.class);
         context.startActivity(i1);
     }

     //Other methods...
}

然后,它会正常工作。

Then it will work.

相关推荐