Android从活动类设置新的意图
我有一个扩展活动的类。有一个注销菜单选项。当我单击它从另一个类调用logoutcontext而不是从Activity扩展时Android从活动类设置新的意图,android,Android,我有一个扩展活动的类。有一个注销菜单选项。当我单击它从另一个类调用logoutcontext而不是从Activity扩展时 public class MyTask extends Activity{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.listlayout); } @O
public class MyTask extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listlayout);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.mytaskmenu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.logout:
Functions.logout(getBaseContext());
return true;
default:
return true;
}
}
}
public class Functions {
public static void logout(Context context)
{
DbAdapter_User db2= new DbAdapter_User(context);
db2.open();
db2.handleLogout();
db2.close();
context.startActivity(new Intent(context, LogIn.class));
}
错误是
android.util.AndroidRuntimeException:
Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
出了什么问题?您需要通过传递活动的上下文而不是传递函数来调用functions类中MyTask活动的上下文。logoutgetBaseContext;尝试Functions.logoutthis.getContext 我需要在函数中更改logoutContext上下文吗?不,只需将方法的参数从getBaseContext更改为this.getContextIn MyTask类或函数中的?传递此参数而不是getBaseContext对我有效。谢谢你的回复。