ошибка addFlags во фрагменте. java - PullRequest
0 голосов
/ 08 мая 2018

У меня проблема с кнопкой выхода из системы в моем файле. Кнопка находится внутри 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 голосов
/ 08 мая 2018

Зачем выдавать ошибку на 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();
}
0 голосов
/ 08 мая 2018

Может быть, это не работает, потому что синтаксис намерения неправильный.

Попробуйте это:

  @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);

                    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...