fragment.java中的addFlags错误

时间:2018-05-08 08:39:22

标签: java android android-fragments

我的文件中的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)上给我错误,确切的语法应该如何?

2 个答案:

答案 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();
}