从非活动类开始一个新的活动 [英] Start a new Activity from non Activity class
本文介绍了从非活动类开始一个新的活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在实现 DialogListener
的非 Activity 类中启动一个新活动,以下是我的代码:
I want to start a new activity 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
方法中使用 Intent 启动新活动,请帮忙.
I can't start the new activity using intent in onComplete
method, please help.
谢谢
推荐答案
这不起作用,因为您需要一个 Context
才能开始新活动.您可以将类重新组织成这样:
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...
}
然后就可以了.
这篇关于从非活动类开始一个新的活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文