我的文件中的Logout按钮出现问题。
该按钮位于Fragment.java
内,当我点击按钮时,我打开AlertDialog
询问用户是否要退出。
代码是:
@Override
public void onClick(DialogInterface dialog, int which) {
logout.getContext().startActivity(new Intent(logout.getContext(),MainActivity.class));
getActivity().finish();
preferenceHelperRistoratore.putIsLoginRistoratore(false);
Error ----------> logout.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
}
为什么在Cannot resolve method addFlags(INT)
上给我错误,确切的语法应该如何?
答案 0 :(得分:0)
也许它不起作用,因为意图的语法是错误的。
试试这个:
@Override
public void onClick(DialogInterface dialog, int which) {
logout.getContext().startActivity(new Intent(logout.getContext(), MainActivity.class));
Intent logout = new Intent(getActivity(),MainActivity.class);
getActivity().startActivity(logout);
AccountKit.logOut();
getActivity().finish();
preferenceHelperRistoratore.putIsLoginRistoratore(false);
logout.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
}
答案 1 :(得分:0)
为什么要在
Cannot resolve method addFlags(INT)
上给我错误,应该怎么做 确切的语法是?
因为logout
没有addFlags
方法。
您可能希望通过添加标志来启动MainActivity。正确的答案是将标志设置为Intent,如下所示:
@Override
public void onClick(DialogInterface dialog, int which) {
getActivity().finish();
preferenceHelperRistoratore.putIsLoginRistoratore(false);
Intent main = new Intent(logout.getContext(), MainActivity.class);
// here you're setting the flags to the intent.
main.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK)
logout.getContext().startActivity();
}